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 01:14:23 2020 +0000
Revision:
13:09bc615e6665
Parent:
11:93da75c1849d
Child:
14:9b4a219dd91e
Trying timer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el18rg 2:b936aa854de2 1 #ifndef ENGINE_H
el18rg 2:b936aa854de2 2 #define ENGINE_H
el18rg 2:b936aa854de2 3
el18rg 2:b936aa854de2 4 #include "mbed.h"
el18rg 2:b936aa854de2 5 #include "N5110.h"
el18rg 2:b936aa854de2 6 #include "Gamepad.h"
el18rg 9:e7dce4de0910 7 #include "Bug.h"
el18rg 10:b6e45e4acde7 8 #include "Swatter.h"
el18rg 7:b5ef03efe784 9 #include "Splat.h"
el18rg 7:b5ef03efe784 10
el18rg 2:b936aa854de2 11 #define GAP 2
el18rg 2:b936aa854de2 12
el18rg 2:b936aa854de2 13 class Engine
el18rg 2:b936aa854de2 14 {
el18rg 2:b936aa854de2 15 public:
el18rg 2:b936aa854de2 16 Engine();
el18rg 2:b936aa854de2 17 ~Engine();
el18rg 11:93da75c1849d 18 void init(int swatter_width,int swatter_height,int speed);
el18rg 2:b936aa854de2 19 void read_input(Gamepad &pad);
el18rg 7:b5ef03efe784 20 void update(N5110 & lcd, Gamepad & pad);
el18rg 13:09bc615e6665 21 void timer();
el18rg 11:93da75c1849d 22 void draw(N5110 &lcd);
el18rg 11:93da75c1849d 23 void check_wall_collision(Gamepad &pad);
el18rg 11:93da75c1849d 24 void check_swatter_collisions(N5110 & lcd, Gamepad & pad);
el18rg 7:b5ef03efe784 25 void ending(N5110 & lcd, Gamepad & pad);
el18rg 11:93da75c1849d 26
el18rg 2:b936aa854de2 27 private:
el18rg 2:b936aa854de2 28 void check_goal(Gamepad &pad);
el18rg 2:b936aa854de2 29 void print_scores(N5110 &lcd);
el18rg 2:b936aa854de2 30 int height;
el18rg 2:b936aa854de2 31 int width;
el18rg 2:b936aa854de2 32 int x;
el18rg 2:b936aa854de2 33 int _speed;
el18rg 2:b936aa854de2 34 Direction _d;
el18rg 2:b936aa854de2 35 float _mag;
el18rg 13:09bc615e6665 36 clock_t start;
el18rg 13:09bc615e6665 37 clock_t end;
el18rg 13:09bc615e6665 38 int random_collision;
el18rg 13:09bc615e6665 39 clock_t clockTicksTaken;
el18rg 13:09bc615e6665 40 double timeInSeconds;
el18rg 13:09bc615e6665 41 double duration;
el18rg 9:e7dce4de0910 42 Bug _bug;
el18rg 7:b5ef03efe784 43 Splat _splat;
el18rg 3:2f4a7787beb3 44 bool collisionX;
el18rg 3:2f4a7787beb3 45 bool collisionY;
el18rg 10:b6e45e4acde7 46 Swatter _swatter;
el18rg 2:b936aa854de2 47 };
el18rg 2:b936aa854de2 48 #endif