CMPUT 229 Laboratory Assignment #4 ================================== Final Mark: /100 MARKS TOTAL ===== Part 1: _____ /10 Intro Screen Part 2: _____ /20 Timer Part 3: _____ /40 Correct Output Part 4: _____ /10 Random Part 5: _____ /20 Style ------------------------------------------------------------------------- Part 1: Intro Screen _____ /10 ___ /3 Proper Phrase appears * Slight difference is acceptable, i.e. small spelling error or slightly different wording is still 3/3. ___ /7 Correct behavior when the keys are pressed * Pressing incorrect keys should have no effect, if it does then 0/7. ------------------------------------------------------------------------ Part 2: Timer _____ /20 ___ /5 Timer starts at the correct amount of seconds based on levels * Can give part marks if two of the three levels work 4/5, if it is the same for all levels then give 2/5. ___ /5 Timer counts down every second * No part marks for this part, either it works or it does not. ___ /5 Timer is updated when the apple is eaten by the snake * Part marks can be given if some of the levels are working, if two of the three levels work then 4/5, if it is always the same amount then 2/5. ___ /5 Game ends when Timer reaches zero ------------------------------------------------------------------------ Part 3: Correct Output _____ /40 ___ /2 The walls are displayed correctly * No part marks for this part. The walls should be exactly the same as those in the Example Execution. * If the walls are displayed incorrectly, the following tests can be conducted using these incorrect walls. ___ /10 The snake moves forward by 1 unit automatically every second * This should always be by 1 unit every second. if it is anything else but 1 unit, then deduct 2 points. * If the snake doesn't move automatically(the snake can only move forward by one unit if the player presses a valid key), then deduct 5 points. * If the snake doesn't move at all, then give them 0/10. And if this is the case, the remaining tests in Part 3 can no longer be tested(give 0 to all these tests). ___ /5 The snake is updated and redrawn correctly * If there're some minor problems that don't influence the playing of the game. For example, the body size increases each time the snake moves or a very small part of the snake body is missing, then give them 2/5. * If there're some very serious problems that the player is not able to play the game anymore. For example, the whole snake is completely missing, then give them 0/5. ___ /5 The game ends immediately if the snake hit a wall ___ /10 The snake can change its direction if the player presses a valid key * If the snake changes its direction when the player presses keys other than W, A, S, and D, then deduct 3 points. * Some of the W, A, S, D keys don't work perfectly. For example, the snake moves up after the player presses S, or one of the keys does't work. Then, deduct 5 points. * If the snake doesn't change its direction no matter what keys are pressed, then give them 0/10. If this is the case, the remaining tests in Part 3 can no longer be tested since it's impossible for us to control the snake to eat an apple. The thrid and the fourth tests in Part 2 should also be 0. ___ /3 Points increase by 1 every time the snake eats an apple ___ /2 Each time the snake eats an apple, the old apple is removed from the screen ___ /3 Each time the snake eats an apple, a new apple is generated correctly(the new apple is generated within the square, and it is displayed on the screen). * If the test for Part 4 fails, this test also fails. ------------------------------------------------------------------------ Part 4: Random _____ /10 ___ /10 Random numbers are correctly generated * 5/10 if only one test fails. * 0/10 if both tests fail. ------------------------------------------------------------------------ Part 5: Style _____ /20 Some common deductions will include: (5 marks per deduction) No subroutine description No program header No explanation for register usage No block comments