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
Revision:
14:9b4a219dd91e
Parent:
13:09bc615e6665
Child:
15:4ed54ff548cf
--- a/Engine/Engine.h	Fri May 29 01:14:23 2020 +0000
+++ b/Engine/Engine.h	Fri May 29 14:59:59 2020 +0000
@@ -1,3 +1,8 @@
+/** Engine Class
+* @brief Operates the game
+* @author Rosemary Gillman
+* @date April, 2020
+*/
 #ifndef ENGINE_H
 #define ENGINE_H
 
@@ -13,36 +18,77 @@
 class Engine
 {
 public:
+
+    /** Constructor */
     Engine();
+    
+    /** Destructor */
     ~Engine();
+    
+    /** Set initalisation 
+    * @param the value of the swatter width, swatter heigh and speed (int)
+    */
     void init(int swatter_width,int swatter_height,int speed);
+    
+    /** 
+    * @
+    */
     void read_input(Gamepad &pad);
+    
+    /** Update the engine
+    * @
+    */
     void update(N5110 & lcd, Gamepad & pad);
+    
+    /** 
+    * @
+    */
     void timer();
+    
+    /** Draw the game
+    * @return
+    */
     void draw(N5110 &lcd);
-    void check_wall_collision(Gamepad &pad);
+    
+    /** Check side collisions
+    * @
+    */
+    void check_side_collision(Gamepad &pad);
+    
+    /** Check swatter/bug collisions
+    * @
+    */
     void check_swatter_collisions(N5110 & lcd, Gamepad & pad);
+    
+    /** End the game
+    * @
+    */
     void ending(N5110 & lcd, Gamepad & pad);
 
 private:
-    void check_goal(Gamepad &pad);
-    void print_scores(N5110 &lcd);
-    int height;
-    int width;
-    int x;
-    int _speed;
-    Direction _d;
-    float _mag;
-    clock_t start;
-    clock_t end;
-    int random_collision;
-    clock_t clockTicksTaken;
-    double timeInSeconds;
-    double duration;
+
+    int height;                 //swatter height
+    int width;                  //swatter width
+    int x;                      //x-axis point
+    int _speed;                 //bug speed
+    int random_collision;       //sets the 
+    
+    float _mag;                 //magnitude
+
+    clock_t start;              //start time
+    clock_t end;                //end time
+    clock_t clockTicksTaken;    //time value
+    
+    double timeInSeconds;       //time in seconds of game
+    double duration;            //duration of game
+    
     Bug _bug;
     Splat _splat;
-    bool collisionX;
-    bool collisionY;
     Swatter _swatter;
+    Direction _d;
+    
+    bool collisionX;            //X-axis collision
+    bool collisionY;            //Y-axis collision
+    
 };
 #endif