Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Game/Game.h
- Committer:
- el17cd
- Date:
- 2019-04-03
- Revision:
- 25:3995271e411c
- Parent:
- 22:236319885874
- Child:
- 26:8a85aede976d
File content as of revision 25:3995271e411c:
#include <vector>
#ifndef FACE_H
#define FACE_H
#include "Face.h"
#endif
#include "Rasturizer.h"
#ifndef CUBE_H
#define CUBE_H
#include "Cube.h"
#endif
#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 deathMenuSelection;
bool playing;
int score;
Vector2D coord;
Cube cubeArray[25];
Face faceArray[150];
Ticker ticker;
Gamepad gamepad;
Rasturizer renderer;
void addScore();
/** @brief Increments the score by 1
*/
void resetScore();
/** @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
*/
};