ELEC2645 (2018/19) / Mbed 2 deprecated el17cd

Dependencies:   mbed

Revision:
25:3995271e411c
Parent:
22:236319885874
Child:
26:8a85aede976d
--- a/Game/Game.h	Wed Apr 03 16:19:05 2019 +0000
+++ b/Game/Game.h	Wed Apr 03 20:03:47 2019 +0000
@@ -11,28 +11,66 @@
 #include "Gamepad.h"
 #include "mbed.h"
 
+/** Game class
+*@brief A class used to instantiate a cube object, this is the obstacle in the game
+*@author Christopher Doel
+*@date April, 2019
+*/
+
 class Game {
   private:
+    bool backToMenu;
     int noOfCubes;
     int homeSelection;
-    bool selection;
+    bool deathMenuSelection;
     bool playing;
     int score;
     Vector2D coord;
-    Cube cubeArray[30];
-    Face faceArray[180];
+    Cube cubeArray[25];
+    Face faceArray[150];
 
     Ticker ticker;
     Gamepad gamepad;
     Rasturizer renderer;
     
     void addScore();
+    /** @brief Increments the score by 1
+    */
     void resetScore();
-    void deathScreen();
-    bool deathButtonSelections();
+    /** @brief Resets the score to 0
+    */
+    void checkDespawn(Cube *cube);
+    /** @brief Checks whether a cube needs to be despawned, if it does then the cube will be translated to the far side of the map
+    *@param A pointer to a cube object
+    */
+    void checkDeath(Cube *cube);
+    /** @brief Checks whether a cube is too close to the user and therefore a collision has occured, the game will be stopped if true
+    *@param A pointer to a cube object
+    */
+    void cubeToBeRendered(Cube *cube, int cubeIndex);
+    /** @brief Adds the cubes faces to the array of faces to be passed to the renderer
+    *@param A pointer to a cube object
+    *@param The integer index of the cubes position in the cube array
+    */
+    void moveCubes(Cube *cube);
+    /** @brief Translates the cube in the z axis towards the user (speed dependant on score) and left and right depending on the joystick location
+    *@param A pointer to a cube object
+    */
+    void displayDeathMenu();
+    /** @brief Displays the menu screen if the game has stopeed propting the user to either restart or go to the home menu
+    */
+    void deathButtonSelections();
+    /** @brief Determines the action to be taken depending on the button input once the game has ended
+    */
     void homeButtonSelections();
+    /** @brief Determines the action to be taken depending on the button input at the home screen
+    */
   public:
    Game();
    void run();
+    /** @brief Executes the game loop
+    */
    void homeScreen();
+    /** @brief Executed the home screen loop
+    */
 };
\ No newline at end of file