Rosie Gillman
Dependencies: mbed Gamepad2 ELEC2645_Project_el18rg
Dependents: ELEC2645_Project_el18rg
Rosemary Gillman 201265952
Objective
The goal of the game is to splat the bug as fast as you can using the swatter.
Controls
1 - Joystick - left/right to control the swatter 2 - Start button - starts the game 3 - Reset - resets the game 4 - Volume pot - adjusts the volume
Instructions
- Turn the gamepad on
- Wait for start screen and press start
- Move the joystick to control the swatter
- Splat the bug as fast as you can
- Press reset to play again
Gameplay
Start Screen 1
- Low pad tone plays for 0.5s
- Pad lights flash (200ms on/200ms off)
- Text saying "Bug Splat Leeds Edition" is displayed
- After 5 flashes the screen changes to Start Screen 2
Start Screen 2
- Pad lights stay on constantly
- Text reads "Splat the bug as fast as you can! Press start"
- When start is pressed the screen changes to Gamplay Screen
Gameplay Screen
- The timer begins
- Bug appears in the top right corner
- Swatter appears in the bottom left corner
- The bug bounces (with random velocity/direction) off the sides
- When the bug bounces off the wall a low pad tone is played each time for 0.1 seconds
- Swatter is controlled left to right with the joystick
- When the bug and swatter overlap the screen changes to the Ending Screen
Ending Screen
- Low pad tone plays for 0.5s
- The timer ends and its value is displayed
- Text reads "SPLAT (time) secs"
- Splats are drawn on the screen
Diff: Engine/Engine.h
- Revision:
- 14:9b4a219dd91e
- Parent:
- 13:09bc615e6665
- Child:
- 15:4ed54ff548cf
--- a/Engine/Engine.h Fri May 29 01:14:23 2020 +0000 +++ b/Engine/Engine.h Fri May 29 14:59:59 2020 +0000 @@ -1,3 +1,8 @@ +/** Engine Class +* @brief Operates the game +* @author Rosemary Gillman +* @date April, 2020 +*/ #ifndef ENGINE_H #define ENGINE_H @@ -13,36 +18,77 @@ class Engine { public: + + /** Constructor */ Engine(); + + /** Destructor */ ~Engine(); + + /** Set initalisation + * @param the value of the swatter width, swatter heigh and speed (int) + */ void init(int swatter_width,int swatter_height,int speed); + + /** + * @ + */ void read_input(Gamepad &pad); + + /** Update the engine + * @ + */ void update(N5110 & lcd, Gamepad & pad); + + /** + * @ + */ void timer(); + + /** Draw the game + * @return + */ void draw(N5110 &lcd); - void check_wall_collision(Gamepad &pad); + + /** Check side collisions + * @ + */ + void check_side_collision(Gamepad &pad); + + /** Check swatter/bug collisions + * @ + */ void check_swatter_collisions(N5110 & lcd, Gamepad & pad); + + /** End the game + * @ + */ void ending(N5110 & lcd, Gamepad & pad); private: - void check_goal(Gamepad &pad); - void print_scores(N5110 &lcd); - int height; - int width; - int x; - int _speed; - Direction _d; - float _mag; - clock_t start; - clock_t end; - int random_collision; - clock_t clockTicksTaken; - double timeInSeconds; - double duration; + + int height; //swatter height + int width; //swatter width + int x; //x-axis point + int _speed; //bug speed + int random_collision; //sets the + + float _mag; //magnitude + + clock_t start; //start time + clock_t end; //end time + clock_t clockTicksTaken; //time value + + double timeInSeconds; //time in seconds of game + double duration; //duration of game + Bug _bug; Splat _splat; - bool collisionX; - bool collisionY; Swatter _swatter; + Direction _d; + + bool collisionX; //X-axis collision + bool collisionY; //Y-axis collision + }; #endif