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@1:8fdb6a804c74, 2020-04-09 (annotated)
- Committer:
- el18rg
- Date:
- Thu Apr 09 18:59:45 2020 +0000
- Revision:
- 1:8fdb6a804c74
- Parent:
- 0:77899648f88b
- Child:
- 2:b936aa854de2
2nd commit - ironing out commit flaws
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el18rg | 0:77899648f88b | 1 | /* |
el18rg | 0:77899648f88b | 2 | BEER PONG - STUDENT EDITION |
el18rg | 0:77899648f88b | 3 | Rosemary Gillman |
el18rg | 0:77899648f88b | 4 | ELEC2645 Project |
el18rg | 0:77899648f88b | 5 | EL18RG |
el18rg | 0:77899648f88b | 6 | **STUDENT NUMBER** |
el18rg | 0:77899648f88b | 7 | */ |
el18rg | 1:8fdb6a804c74 | 8 | |
el18rg | 0:77899648f88b | 9 | #include "mbed.h" |
el18rg | 0:77899648f88b | 10 | #include "Gamepad.h" |
el18rg | 0:77899648f88b | 11 | #include "N5110.h" |
el18rg | 0:77899648f88b | 12 | |
el18rg | 0:77899648f88b | 13 | Gamepad pad; |
el18rg | 0:77899648f88b | 14 | N5110 lcd; |
el18rg | 0:77899648f88b | 15 | |
el18rg | 0:77899648f88b | 16 | int main() |
el18rg | 0:77899648f88b | 17 | { |
el18rg | 0:77899648f88b | 18 | lcd.init(); //set the LED contrast |
el18rg | 0:77899648f88b | 19 | lcd.setContrast(0.5); |
el18rg | 0:77899648f88b | 20 | pad.init(); |
el18rg | 0:77899648f88b | 21 | |
el18rg | 0:77899648f88b | 22 | lcd.backLightOn(); |
el18rg | 0:77899648f88b | 23 | lcd.printString("Beer Pong",15,2); //display the game title |
el18rg | 0:77899648f88b | 24 | lcd.printString("Leeds Edition",1,3); |
el18rg | 0:77899648f88b | 25 | lcd.refresh(); |
el18rg | 0:77899648f88b | 26 | pad.tone(1000.0,2.0); //plays the bong tone |
el18rg | 0:77899648f88b | 27 | |
el18rg | 0:77899648f88b | 28 | for (int i = 0; i < 10; i++) { //flash all the lights for 200 ms a pop |
el18rg | 0:77899648f88b | 29 | pad.leds_on(); |
el18rg | 0:77899648f88b | 30 | wait_ms(200); |
el18rg | 0:77899648f88b | 31 | pad.leds_off(); |
el18rg | 0:77899648f88b | 32 | wait_ms(200); |
el18rg | 0:77899648f88b | 33 | } |
el18rg | 0:77899648f88b | 34 | pad.leds_off(); //turn off the flashing lights and the game title |
el18rg | 0:77899648f88b | 35 | lcd.clear(); |
el18rg | 0:77899648f88b | 36 | lcd.refresh(); |
el18rg | 0:77899648f88b | 37 | |
el18rg | 0:77899648f88b | 38 | lcd.printString("Instructions:",0,0); //display the instruction screen |
el18rg | 0:77899648f88b | 39 | lcd.printString("Use joystick",0,1); |
el18rg | 0:77899648f88b | 40 | lcd.printString("to aim.",0,2); |
el18rg | 0:77899648f88b | 41 | lcd.printString("X to fire.",0,3); |
el18rg | 0:77899648f88b | 42 | lcd.printString("Press start",0,4); |
el18rg | 0:77899648f88b | 43 | lcd.printString("to go.",0,5); |
el18rg | 0:77899648f88b | 44 | lcd.refresh(); |
el18rg | 0:77899648f88b | 45 | lcd.clear(); |
el18rg | 0:77899648f88b | 46 | |
el18rg | 0:77899648f88b | 47 | } |
el18rg | 0:77899648f88b | 48 |