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
Engine/Engine.h@10:b6e45e4acde7, 2020-05-28 (annotated)
- Committer:
- el18rg
- Date:
- Thu May 28 20:56:57 2020 +0000
- Revision:
- 10:b6e45e4acde7
- Parent:
- 9:e7dce4de0910
- Child:
- 11:93da75c1849d
Changing cup(s) to swatter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el18rg | 2:b936aa854de2 | 1 | #ifndef ENGINE_H |
el18rg | 2:b936aa854de2 | 2 | #define ENGINE_H |
el18rg | 2:b936aa854de2 | 3 | |
el18rg | 2:b936aa854de2 | 4 | #include "mbed.h" |
el18rg | 2:b936aa854de2 | 5 | #include "N5110.h" |
el18rg | 2:b936aa854de2 | 6 | #include "Gamepad.h" |
el18rg | 9:e7dce4de0910 | 7 | #include "Bug.h" |
el18rg | 10:b6e45e4acde7 | 8 | #include "Swatter.h" |
el18rg | 6:98e08a6b385b | 9 | |
el18rg | 7:b5ef03efe784 | 10 | #include "Splat.h" |
el18rg | 7:b5ef03efe784 | 11 | |
el18rg | 2:b936aa854de2 | 12 | |
el18rg | 2:b936aa854de2 | 13 | #define GAP 2 |
el18rg | 2:b936aa854de2 | 14 | |
el18rg | 2:b936aa854de2 | 15 | class Engine |
el18rg | 2:b936aa854de2 | 16 | { |
el18rg | 2:b936aa854de2 | 17 | |
el18rg | 2:b936aa854de2 | 18 | public: |
el18rg | 2:b936aa854de2 | 19 | Engine(); |
el18rg | 2:b936aa854de2 | 20 | ~Engine(); |
el18rg | 2:b936aa854de2 | 21 | |
el18rg | 9:e7dce4de0910 | 22 | void init(int paddle_width,int paddle_height,int bug_size,int speed); |
el18rg | 2:b936aa854de2 | 23 | void read_input(Gamepad &pad); |
el18rg | 7:b5ef03efe784 | 24 | void update(N5110 & lcd, Gamepad & pad); |
el18rg | 2:b936aa854de2 | 25 | void draw(N5110 &lcd); |
el18rg | 3:2f4a7787beb3 | 26 | void check_wall_collision(Gamepad &pad); |
el18rg | 7:b5ef03efe784 | 27 | void check_paddle_collisions(N5110 & lcd, Gamepad & pad); |
el18rg | 7:b5ef03efe784 | 28 | void ending(N5110 & lcd, Gamepad & pad); |
el18rg | 2:b936aa854de2 | 29 | //void check_goal(Gamepad &pad); |
el18rg | 2:b936aa854de2 | 30 | private: |
el18rg | 2:b936aa854de2 | 31 | void check_goal(Gamepad &pad); |
el18rg | 2:b936aa854de2 | 32 | void print_scores(N5110 &lcd); |
el18rg | 2:b936aa854de2 | 33 | int height; |
el18rg | 2:b936aa854de2 | 34 | int width; |
el18rg | 2:b936aa854de2 | 35 | int x; |
el18rg | 2:b936aa854de2 | 36 | int _speed; |
el18rg | 2:b936aa854de2 | 37 | Direction _d; |
el18rg | 2:b936aa854de2 | 38 | float _mag; |
el18rg | 9:e7dce4de0910 | 39 | Bug _bug; |
el18rg | 7:b5ef03efe784 | 40 | Splat _splat; |
el18rg | 3:2f4a7787beb3 | 41 | bool collisionX; |
el18rg | 3:2f4a7787beb3 | 42 | bool collisionY; |
el18rg | 10:b6e45e4acde7 | 43 | Swatter _swatter; |
el18rg | 4:5cc1b81999a9 | 44 | int a; |
el18rg | 2:b936aa854de2 | 45 | }; |
el18rg | 2:b936aa854de2 | 46 | #endif |