Project CryptKeeper Design Presentation Brad Ty Nunnally- Team Leader and Team Analyst John Hawthorne- Lead Programmer Mike Haynes- Lead Designer
Client Information Socratis Tornaritis –Instructor at SIUE in the Computer Science Department Instructor for CS 275 – Interactive Programming
Project CryptKeeper Goal Take Four Interactive Programming Languages and critique them. –V–Visual C++, Visual Basic, C#, Java How: –C–Create a game based on the cryptogram puzzles. –H–Have the game use database storage and web interaction.
Impact of the Project Curriculum of CS 275 –The format of the class. Students of the Computer Science –The language they learn.
Fall 2006 Gantt Chart- Coding
Fall 2006 Gantt Chart- Document
Encryption Algorithm –Dynamically encrypts puzzles Char letters[26] //array with letters a-z Char encrypted[26] // array to store encrypted letters in Integer i = 0, randNum loop while (i < 26){ // encrypt all 26 letters randNum = getRandomNumber() mod 26 loop while (encrypted[randNum] != NULL){ //already mapped randNum++ if(randNum >=26) randNum = 0; } encrypted[randNum] = letters[i] i++ }
Other Algorithms Map Words to Lines –Assigns each word a line –Determines font size & sizing Display Messages –Dynamically creates display objects for characters – Assigns sizes and locations to objects –Displays objects Determine Spacing –Vertical spacing, character spacing, X,Y starting coordinates –Based on height, width, number of lines
CreatePuzzle() Display() MapWordsToLines()Display Messages() DetermineSpacing() Puzzle Group Box Display() Function Sequence and Relations Time + + populates
+ Time + Load Form Save Form Main Interface Save Progress? displays populates displays
Documentation Plan Assigned documentation –Project Definition –Project Plan –Project Design Blogs and Logs Code commenting –Function Descriptions –In-line descriptions End Document