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:
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?

UserRevisionLine numberNew 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