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
Swatter/Swatter.h@24:6e6bcdd22159, 2020-05-29 (annotated)
- Committer:
- el18rg
- Date:
- Fri May 29 21:49:53 2020 +0000
- Revision:
- 24:6e6bcdd22159
- Parent:
- 14:9b4a219dd91e
Final Submission. I have read and agreed with Statement of Academic Integrity
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el18rg | 14:9b4a219dd91e | 1 | /** Swatter Class |
el18rg | 14:9b4a219dd91e | 2 | * @brief Operates and draws the swatter |
el18rg | 14:9b4a219dd91e | 3 | * @author Rosemary Gillman |
el18rg | 14:9b4a219dd91e | 4 | * @date April, 2020 |
el18rg | 14:9b4a219dd91e | 5 | */ |
el18rg | 10:b6e45e4acde7 | 6 | #ifndef SWATTER_H |
el18rg | 10:b6e45e4acde7 | 7 | #define SWATTER_H |
el18rg | 10:b6e45e4acde7 | 8 | |
el18rg | 10:b6e45e4acde7 | 9 | #include "mbed.h" |
el18rg | 10:b6e45e4acde7 | 10 | #include "Gamepad.h" |
el18rg | 10:b6e45e4acde7 | 11 | #include "N5110.h" |
el18rg | 11:93da75c1849d | 12 | |
el18rg | 11:93da75c1849d | 13 | class Swatter |
el18rg | 11:93da75c1849d | 14 | { |
el18rg | 11:93da75c1849d | 15 | public: |
el18rg | 14:9b4a219dd91e | 16 | |
el18rg | 14:9b4a219dd91e | 17 | /** Constructor */ |
el18rg | 11:93da75c1849d | 18 | Swatter(); |
el18rg | 14:9b4a219dd91e | 19 | |
el18rg | 14:9b4a219dd91e | 20 | /** Destructor */ |
el18rg | 11:93da75c1849d | 21 | ~Swatter(); |
el18rg | 14:9b4a219dd91e | 22 | |
el18rg | 14:9b4a219dd91e | 23 | /** Set initalisation |
el18rg | 14:9b4a219dd91e | 24 | * @param the value of the width, height and x (int) |
el18rg | 14:9b4a219dd91e | 25 | */ |
el18rg | 11:93da75c1849d | 26 | void init(int x,int height,int width); |
el18rg | 14:9b4a219dd91e | 27 | |
el18rg | 14:9b4a219dd91e | 28 | /** Draw the swatter |
el18rg | 14:9b4a219dd91e | 29 | * @return the swat on the lcd |
el18rg | 14:9b4a219dd91e | 30 | */ |
el18rg | 11:93da75c1849d | 31 | void draw(N5110 &lcd); |
el18rg | 14:9b4a219dd91e | 32 | |
el18rg | 14:9b4a219dd91e | 33 | /** Update the swatter |
el18rg | 14:9b4a219dd91e | 34 | * @param the value of the swatter direction and mag(nitude) |
el18rg | 14:9b4a219dd91e | 35 | */ |
el18rg | 14:9b4a219dd91e | 36 | void update(Direction d,float mag); |
el18rg | 14:9b4a219dd91e | 37 | |
el18rg | 14:9b4a219dd91e | 38 | /** Get swatter vector position |
el18rg | 14:9b4a219dd91e | 39 | * @return the swatter position as a vector |
el18rg | 14:9b4a219dd91e | 40 | */ |
el18rg | 11:93da75c1849d | 41 | Vector2D get_pos(); |
el18rg | 11:93da75c1849d | 42 | |
el18rg | 11:93da75c1849d | 43 | private: |
el18rg | 14:9b4a219dd91e | 44 | |
el18rg | 14:9b4a219dd91e | 45 | int direction; //swatter direction |
el18rg | 14:9b4a219dd91e | 46 | int _height; //swatter hight |
el18rg | 14:9b4a219dd91e | 47 | int _width; //swatter width |
el18rg | 14:9b4a219dd91e | 48 | int _x; //x-axis of swatter |
el18rg | 14:9b4a219dd91e | 49 | int _y; //y-axis of swatter |
el18rg | 14:9b4a219dd91e | 50 | int _speed; //speed of swatter |
el18rg | 14:9b4a219dd91e | 51 | |
el18rg | 10:b6e45e4acde7 | 52 | }; |
el18rg | 10:b6e45e4acde7 | 53 | #endif |