Line 25: |
Line 25: |
| ==Education== | | ==Education== |
| | | |
− | [[Media: PacMath Lesson Plan.pdf]] | + | [[Media: PacMath_Lesson_Plan.doc]] |
| | | |
| Current Standards to be addressed with in this project: <br> | | Current Standards to be addressed with in this project: <br> |
Line 40: |
Line 40: |
| ==Game Elements== | | ==Game Elements== |
| ;Activity Icon | | ;Activity Icon |
− | [[Image: Pacmath-icon.svg|frame|none|alt=startscreen|Version 1]] | + | [[Image: Pacmath-icon.svg|frame|none|alt=startscreen|Version 1]] [[Image: Pacmath-icon_copy.svg|frame|none|alt=startscreen|Version 2]] |
− | [[Image: Pacmath-icon_copy.svg|frame|none|alt=startscreen|Version 2]] | |
| | | |
| ==How It Works== | | ==How It Works== |
| | | |
− | [[Media: PacMan_User_Manual.pdf]] | + | [[Media: PacMath_User_Manual.doc]] |
| | | |
| *One Player | | *One Player |
Line 52: |
Line 51: |
| **If the player eats a Power Pellet (4 per level) the ghosts freeze for a few seconds | | **If the player eats a Power Pellet (4 per level) the ghosts freeze for a few seconds |
| **Player has to eat the Enemy with the correct answer | | **Player has to eat the Enemy with the correct answer |
− | **If the player eats the wrong answer they lose a life, and continue playing, the ghost is warped back to its spawn | + | **If the player eats the wrong answer they lose a life, and continue playing, the ghost is warped back to its spawn point |
| **If the player eats 100 regular pellets they gain a life | | **If the player eats 100 regular pellets they gain a life |
| ***A life is an answer attempt, if you run out of lives the game ends | | ***A life is an answer attempt, if you run out of lives the game ends |
| **After the three ghosts have been eaten and answered correctly, a new 'level' (so to speak) begins | | **After the three ghosts have been eaten and answered correctly, a new 'level' (so to speak) begins |
| + | ***At the start of each level, three questions are generated of random operation type (+, -, /, x) |
| | | |
| *Questions | | *Questions |
| **Random question generation | | **Random question generation |
− | **The answer has a programmable limit | + | **The answer has a programmable limit (12 by default) |
| **Current Types | | **Current Types |
| ***Multiplication tables | | ***Multiplication tables |
Line 69: |
Line 69: |
| ***Inequalities (given a number, find which ghost's answer is greater than or less than the number) | | ***Inequalities (given a number, find which ghost's answer is greater than or less than the number) |
| ***Basic Algebra problems (solve for x) | | ***Basic Algebra problems (solve for x) |
| + | ***Fractions |
| | | |
| ===Features=== | | ===Features=== |
| *PacMath | | *PacMath |
| **User will control a yellow sprite | | **User will control a yellow sprite |
− | **User will attempt to touch numbered sprites based on mathematical questions | + | **User will attempt to "eat" numbered sprites based on mathematical questions |
| *Question sets | | *Question sets |
− | **Student picks question type at game start | + | **Question type randomly generated at game start |
− | **Instructor will be able to see the rankings of a particular student? | + | *Future Features |
− | *Ranking | + | **Instructor will be able to see the rankings of a particular student |
− | **<s>Top 10 scores will be recorded and displayed while game is paused</s> - maybe one day it will | + | **Student or teacher will be able to choose question type |
− | *Speed setting as well? | + | **Top 10 scores will be recorded and displayed while game is paused |
| + | **Adjustable speed (faster for more of a challenge) |
| | | |
| ===Controls=== | | ===Controls=== |
− | User will be able to interact with the game through two input devices | + | User will be able to interact with the game through the keyboard |
| *Keyboard | | *Keyboard |
| **UP-ARROW will move sprite up | | **UP-ARROW will move sprite up |
Line 88: |
Line 90: |
| **RIGHT-ARROW will move sprite right | | **RIGHT-ARROW will move sprite right |
| **LEFT-ARROW will move sprite left | | **LEFT-ARROW will move sprite left |
− | **P will pause and resume the game <s>while displaying Rankings</s> | + | **P will pause and resume the game |
− | *Game-Pad | + | *Future Controls - GameBoy mode |
| **UP-ANGLE will move sprite up | | **UP-ANGLE will move sprite up |
| **DOWN-ANGLE will move sprite down | | **DOWN-ANGLE will move sprite down |
| **RIGHT-ANGLE will move sprite right | | **RIGHT-ANGLE will move sprite right |
| **LEFT-ANGLE will move sprite left | | **LEFT-ANGLE will move sprite left |
− | **SQUARE will pause and resume the game <s>while displaying Rankings</s> | + | **SQUARE will pause and resume the game |
| | | |
− | ==Code Structure Plan== | + | ==Developer Information== |
| | | |
− | Update: 2/25/2010, as of this date we have our latest up to date code structure with comments and modules on the following website [http://people.rit.edu/yah3133/ http://people.rit.edu/yah3133/]
| + | ===Code Structure=== |
| | | |
− | We will be using a mix and match of two existing classic arcade games implemented in Python.
| + | Update: 11/16/2010, Current documentation is located at [http://mikekitson.com/pacmath/ http://mikekitson.com/pacmath/] |
− | The first one is from [http://www-inst.eecs.berkeley.edu/~cs188/fa07/projects/search/searchproject.html Berkeley.edu] and it is a very simple implementation. The second game comes from [http://pinproject.com/pacman/pacman.htm PyGames] and it is more complicated in its design and implementation. We will be using a bit of both to try to come up with an optimal one that would work at a good speed in the XO.
| |
| | | |
| + | Update: <s>2/25/2010, as of this date we have our latest up to date code structure with comments and modules on the following website [http://people.rit.edu/yah3133/ http://people.rit.edu/yah3133/]</s> |
| | | |
| + | Components: |
| *Question generation | | *Question generation |
| *Mazes | | *Mazes |
Line 112: |
Line 115: |
| *Setup (for loading on the XO) | | *Setup (for loading on the XO) |
| | | |
− | ==Development== | + | ===Development=== |
| The code for this project is located at the [http://git.sugarlabs.org/projects/pacmath Git.SugarLabs.org] repositories. | | The code for this project is located at the [http://git.sugarlabs.org/projects/pacmath Git.SugarLabs.org] repositories. |
| | | |
Line 127: |
Line 130: |
| * [[user:dxr4305|Dennis Rodriguez]], email: dxr4305 [at] rit.edu | | * [[user:dxr4305|Dennis Rodriguez]], email: dxr4305 [at] rit.edu |
| | | |
− | ==Bugs== | + | ====Contribute==== |
| + | |
| + | To help contribute to PacMath, check out the code and contact |
| + | |
| + | * [[user:classclownfish|Abbi Honeycutt]], email: amh7732 [at] rit.edu |
| + | * [[user:Michael_Kitson|Michael Kitson]], email: msk5293 [at] rit.edu |
| + | |
| + | ===Bugs/Todo=== |
| + | *Game size is not the proper size for the XO (too small) |
| + | **Potential Fix: Increase block size from 25px to 33px |
| + | ***Grid stays 25x25, each point on the grid is 33x33 |
| + | ***Right hand answer frame increases to 375px in width (from 275px) |
| + | ***Bottom question frame stays 75px in height |
| + | *Support input via alternate controls while in ebook mode |
| + | **Directional angles and square button to pause |
| + | *Permanent Documentation solution is required |
| + | **non-personal site |
| + | **run epydoc nightly for up-to-date documentation |
| | | |
| ==Milestones - Fall 2010== | | ==Milestones - Fall 2010== |
Line 148: |
Line 168: |
| * Week 10 | | * Week 10 |
| ** <s>Improve game speed</s> (5 hrs) - runs great on the XO! | | ** <s>Improve game speed</s> (5 hrs) - runs great on the XO! |
− | ** <s>Beautify game, intuitively redesign the UI</s> (5 hrs) - screenshots to come | + | ** <s>Beautify game, intuitively redesign the UI</s> (5 hrs) |
| ** Refine ghost movement (5 hrs) - deemed out of scope for current time frame | | ** Refine ghost movement (5 hrs) - deemed out of scope for current time frame |
| <br/> | | <br/> |
| * Week 11 | | * Week 11 |
| ** Finishing touches (2 hrs) | | ** Finishing touches (2 hrs) |
− | ** Usability testing (2 hrs) | + | ** <s>Usability testing</s> (2 hrs) - delayed until sized to XO |
− | ** Release evaluation (1 hr) | + | ** <s>Release evaluation</s> (1 hr) - delayed until sized to XO |
− | ** Potential release (1 hr) | + | ** <s>Potential release</s> (1 hr) - delayed until sized to XO |
| <br/> | | <br/> |
| Division of Labor: | | Division of Labor: |
Line 240: |
Line 260: |
| | | |
| == License == | | == License == |
| + | All of PacMath is licensed |
| http://i.creativecommons.org/l/by-sa/3.0/88x31.png | | http://i.creativecommons.org/l/by-sa/3.0/88x31.png |
| <br/> | | <br/> |
| [http://creativecommons.org/licenses/by-sa/3.0/us/ http://creativecommons.org/licenses/by-sa/3.0/us/] | | [http://creativecommons.org/licenses/by-sa/3.0/us/ http://creativecommons.org/licenses/by-sa/3.0/us/] |