![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
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
main.cpp
- Committer:
- el18rg
- Date:
- 2020-05-29
- Revision:
- 16:33d8b58a1a65
- Parent:
- 15:4ed54ff548cf
- Child:
- 19:bdfab290446a
File content as of revision 16:33d8b58a1a65:
/* ELEC2645 Embedded Systems Project School of Electronic & Electrical Engineering University of Leeds 2019/20 Name: Rosemary Gillman Username: EL18RG Student ID Number: 201265952 Date:20/03/20 */ /** pre-processor directives */ #include "mbed.h" #include "Gamepad.h" #include "N5110.h" #include "Swatter.h" #include "Bug.h" #include "Engine.h" #define SWATTER_WIDTH 10 #define SWATTER_HEIGHT 9 #define BUG_SPEED 3 /** objects */ Gamepad pad; N5110 lcd; Engine engine; /** prototypes */ void first_init(); void start(); void play_game(); /** functions */ int main() { first_init(); engine.timer(); start(); while (1) { engine.read_input(pad); engine.update(lcd, pad); pad.leds_off(); play_game(); wait_ms(80); } } void first_init() //initilises the gamepad and screen { lcd.init(); pad.init(); engine.init(SWATTER_WIDTH,SWATTER_HEIGHT,BUG_SPEED); } void play_game() //starts the game and timer { lcd.clear(); engine.draw(lcd); lcd.refresh(); } void start() //displays the start screen { lcd.printString("Bug Splat",15,2); lcd.printString("Leeds Edition",1,3); lcd.refresh(); pad.tone(500.0,0.5); for (int i = 0; i < 5; i++) { pad.leds_on(); wait_ms(200); pad.leds_off(); wait_ms(200); } pad.leds_off(); lcd.clear(); lcd.refresh(); lcd.printString("Splat the bug",0,0); lcd.printString("as fast",0,1); lcd.printString("as you can!",0,2); lcd.printString("Press start",0,5); lcd.refresh(); while ( pad.start_pressed() == false) { pad.leds_on(); } }