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.
Diff: Engine/Engine.h
- Revision:
- 14:a57a40ff9430
- Parent:
- 13:81573be8fac6
- Child:
- 15:130900e5c268
diff -r 81573be8fac6 -r a57a40ff9430 Engine/Engine.h
--- a/Engine/Engine.h Mon May 07 19:41:09 2018 +0000
+++ b/Engine/Engine.h Tue May 08 13:15:41 2018 +0000
@@ -4,26 +4,64 @@
#include "Snek.h"
#include "Food.h"
+/** The Game Engine class
+* @brief Handles all failure states and game drawing
+* @author Andrew J. Moore
+* @date May, 2018
+*/
+
class Engine
{
public:
+
+ /** Constructor */
Engine();
+
+ /** Destructor */
~Engine();
+ /** Initialization function */
void init();
+
+ /** Reads and stores the current inputs from the gamepad
+ * @param the current state of the gamepad (Gamepad)
+ */
void read_input(Gamepad &pad);
+
+ /** Updates the current game state
+ * @param the gamepad's functions as it is needed to use the speaker (Gamepad)
+ */
void update(Gamepad &pad);
+
+ /** Draws the current state of the game
+ * @param the LCD so that it can be drawn to (N5110)
+ */
void draw(N5110 &lcd);
+
+ /** Applies a splash screen to signify a game over state has been reached
+ * @param the LCD so that it can be drawn to (N5110)
+ */
void gameOverScreen(N5110 &lcd);
- string convertString(int a);
- void gameOver(N5110 &lcd);
+
+ /** Gets the current score
+ * @return the current score
+ */
float getScore();
- bool getGameOver();
+
+ /** Gets the current game state
+ * @return the value of _gameOver
+ */
+ bool getGameOver();
+
+ /** Sets the current level
+ * @param the level to be set to (int)
+ */
void setLvl(int _levelToSet);
private:
+ //Private Variables
int _score;
Direction _d;
int _grid[22][22];
@@ -31,12 +69,14 @@
Food _noodles; //Common foodstuffs in MGS, once again to reduce confusion
bool _gameOver;
int _lvl;
-
+
//Private Methods
+ string convertString(int a);
void loadLvl();
void lvlOne();
void lvlTwo();
- void lvlThree();
+ void lvlThree();
bool checkFood();
void growSnake(Gamepad &pad);
+ void checkGameOverAndSetGrid();
};
\ No newline at end of file