Rosie Gillman

Dependencies:   mbed Gamepad2 ELEC2645_Project_el18rg

Dependents:   ELEC2645_Project_el18rg

https://os.mbed.com/media/uploads/el18rg/bug_splat_logo.png

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 https://os.mbed.com/media/uploads/el18rg/buttons.png

Instructions

  1. Turn the gamepad on
  2. Wait for start screen and press start
  3. Move the joystick to control the swatter
  4. Splat the bug as fast as you can
  5. 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

https://os.mbed.com/media/uploads/el18rg/intro_screen1.jpg

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

https://os.mbed.com/media/uploads/el18rg/intro_screen_2.jpg

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

https://os.mbed.com/media/uploads/el18rg/gameplay.jpg

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 https://os.mbed.com/media/uploads/el18rg/end_screen.jpg
Committer:
el18rg
Date:
Thu Apr 09 13:24:57 2020 +0000
Revision:
0:77899648f88b
Child:
1:8fdb6a804c74
1st commit - setup;

Who changed what in which revision?

UserRevisionLine numberNew 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 0:77899648f88b 8 #include "mbed.h"
el18rg 0:77899648f88b 9 #include "Gamepad.h"
el18rg 0:77899648f88b 10 #include "N5110.h"
el18rg 0:77899648f88b 11
el18rg 0:77899648f88b 12 Gamepad pad;
el18rg 0:77899648f88b 13 N5110 lcd;
el18rg 0:77899648f88b 14
el18rg 0:77899648f88b 15 int main()
el18rg 0:77899648f88b 16 {
el18rg 0:77899648f88b 17 lcd.init(); //set the LED contrast
el18rg 0:77899648f88b 18 lcd.setContrast(0.5);
el18rg 0:77899648f88b 19 pad.init();
el18rg 0:77899648f88b 20
el18rg 0:77899648f88b 21 lcd.backLightOn();
el18rg 0:77899648f88b 22 lcd.printString("Beer Pong",15,2); //display the game title
el18rg 0:77899648f88b 23 lcd.printString("Leeds Edition",1,3);
el18rg 0:77899648f88b 24 lcd.refresh();
el18rg 0:77899648f88b 25 pad.tone(1000.0,2.0); //plays the bong tone
el18rg 0:77899648f88b 26
el18rg 0:77899648f88b 27 for (int i = 0; i < 10; i++) { //flash all the lights for 200 ms a pop
el18rg 0:77899648f88b 28 pad.leds_on();
el18rg 0:77899648f88b 29 wait_ms(200);
el18rg 0:77899648f88b 30 pad.leds_off();
el18rg 0:77899648f88b 31 wait_ms(200);
el18rg 0:77899648f88b 32 }
el18rg 0:77899648f88b 33 pad.leds_off(); //turn off the flashing lights and the game title
el18rg 0:77899648f88b 34 lcd.clear();
el18rg 0:77899648f88b 35 lcd.refresh();
el18rg 0:77899648f88b 36
el18rg 0:77899648f88b 37 lcd.printString("Instructions:",0,0); //display the instruction screen
el18rg 0:77899648f88b 38 lcd.printString("Use joystick",0,1);
el18rg 0:77899648f88b 39 lcd.printString("to aim.",0,2);
el18rg 0:77899648f88b 40 lcd.printString("X to fire.",0,3);
el18rg 0:77899648f88b 41 lcd.printString("Press start",0,4);
el18rg 0:77899648f88b 42 lcd.printString("to go.",0,5);
el18rg 0:77899648f88b 43 lcd.refresh();
el18rg 0:77899648f88b 44 lcd.clear();
el18rg 0:77899648f88b 45
el18rg 0:77899648f88b 46 }
el18rg 0:77899648f88b 47