| Category | Points | Min | Max |
DrawScreen
- Displays static text and buttons (Title, etc.). (Artistic liberties encouraged)
- Displays current values for MOVES and TIERS
- Displays stacked tiers (without spaces between non-adjacent tiers)
- Contains modular subroutines which avoid code duplication
| | 0 | 10 |
ReDrawScreen
- Updates MOVES & TIERS and Redraws cake tiers without redrawing entire screen
| | 0 | 3 |
ResetGame
- Places all tiers of cake at the bakery
- Resets MOVES=0
| | 0 | 2 |
Distribute
- Randomly distributes tiers among locations
- Need NOT match random values produced by library code but
MUST evenly distribute tiers to each location
| | 0 | 3 |
MoveTier
- Correctly Moves one tier of cake from SI to DI
- Disallows invalid movement and displays error message
| | 0 | 5 |
AutoSolve
- Automatically finds solution from original (RESET) position: +6
- Automatically finds solution from ANY position: +6
- Contains a compact, modular, recursive call
| | 0 | 12 |
MouseCtrl
- Allows all six buttons to be pressed (AX=0..5)
- Allows tiers to be moved (AX=6, SI & DI set as necessary)
- May "round" location to nearest button or tier.
| | 0 | 7 |
Main
- Invokes other procedures as needed
- Replaces MainLIB
| | 0 | 8 |
| Functionality SubTotal
| | 0 | 50 |
Modularity (* percentage of code written)
- Lacks appropriate use of additional subroutines to avoid code
duplication.
- Violates specifications for given subroutines
| | -5 | 0 |
Technique & Style (* percentage of code written)
- Compact and Efficient code
- Extraneous use of code, registers and/or variables: -3
| | -5 | 0 |
Comments (* percentage of code written)
- Clear and precise comments: +5
- Sports Announcer-type comments: -1
- Sparse and/or unclear comments: -3
| | -5 | 0 |
Penalty/Bonus
Before Tue 3/11: +1 pt/day
Deadline after 3/11: -5 pts/day
| | -50 | 5 |
| Total | | 0 | 50 |