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: DodgeEngine/DodgeEngine.h
- Revision:
- 15:807eba7c7811
- Parent:
- 8:c3153fd4d8ce
- Child:
- 16:f1b5ea92facd
--- a/DodgeEngine/DodgeEngine.h Sun May 05 11:25:08 2019 +0000
+++ b/DodgeEngine/DodgeEngine.h Tue May 07 18:01:54 2019 +0000
@@ -9,67 +9,162 @@
#include "Health_Kit.h"
/** DodgeEngine Class
-* @author Oliver Luong, University of Leeds
-* @brief Controls the functionality of the Dodge game
-* @date 22/04/2019
+
+@brief Controls the functionality of the Dodge game .
+@breif Controls when the objects are generated into the game and the conditions when the objects collide with the walls
+@brief also when the player collides with the objects and health pack what should be done to the lives and the output.
+
+@brief Revisions 1.0
+
+
+@author Oliver Luong, University of Leeds
+@date 22/04/2019
*/
+
class DodgeEngine
{
public:
+ /** Contructor / Destructor */
DodgeEngine();
~DodgeEngine();
+ /**
+ This method will be used to set the global variables to local variable
+ @author Oliver Luong
+ @param player_width fetches the initialised player width from main.
+ @param player_height fetches the initialised player height from main.
+ @param objects_size fetches the initialised object size from main.
+ @param speed fetches the initialised speed from main.
+ @param lives fetches the initialised lives from main.
+ @param kit_size fetches the initialised kit size from main.
+ */
void init(int player_width,int player_height,int objetcs_size,int speed,int lives, int kit_size);
+
+ /** Fetch direction and magintude of the joystick and save to local variables. */
void read_input(Gamepad &pad);
+ /**
+ This method will be used to update the direction of the player
+ and call the methods to check objects for collisions/overlaps
+ */
void update(Gamepad &pad);
+
+ /** Drawing the player, objects and the health kit to the LCD */
void draw(N5110 &lcd);
+
+ /**
+ This method will be used to return the value of lose when called
void time(float time);
+ */
int get_lose();
private:
+// Methods
+
+ /**
+ This method will be used to check for object 1 collisions to the wall
+ and reposition the objects as to bounce off the walls.
+ */
void check_wall_collision1(Gamepad &pad);
+
+ /**
+ This method will be used to check for object 2 collisions to the wall
+ and reposition the objects as to bounce off the walls.
+ */
void check_wall_collision2(Gamepad &pad);
+
+ /**
+ This method will be used to check for object 3 collisions to the wall
+ and reposition the objects as to bounce off the walls.
+ */
void check_wall_collision3(Gamepad &pad);
+
+ /**
+ This method will be used to check for object 4 collisions to the wall
+ and reposition the objects as to bounce off the walls.
+ */
void check_wall_collision4(Gamepad &pad);
+
+ /**
+ This method will be used to check for player collisions with object 1
+ and calls on the player_hit method if condition is met.
+ */
void check_player_collisions1(Gamepad &pad);
+
+ /**
+ This method will be used to check for player collisions with object 2
+ and calls on the player_hit method if condition is met.
+ */
void check_player_collisions2(Gamepad &pad);
+
+ /**
+ This method will be used to check for player collisions with object 3
+ and calls on the player_hit method if condition is met.
+ */
void check_player_collisions3(Gamepad &pad);
+
+ /**
+ This method will be used to check for player collisions with object 4
+ and calls on the player_hit method if condition is met.
+ */
void check_player_collisions4(Gamepad &pad);
+
+ /**
+ This method will be used to check for player collisions with health kit
+ and sets collect to true.
+ */
void check_player_health_kit_collison(Gamepad &pad);
+
+ /**
+ This method is used to increase the lives variable value by 1 if
+ the conditions are met and with user input.
+ */
void life_up(Gamepad &pad);
+
+ /**
+ This method will be used to display the players lives using
+ the LEDs.
+ */
void life_leds(Gamepad &pad);
+ /**
+ This method is used to reduce a life if the condition is met.
+ */
void player_hit(Gamepad &pad);
+
+ /**
+ This method will be used to print the lives and time to LCD
+ */
void print_lives_time(N5110 &lcd);
+// Objects
Player _player;
-
+ Objects _objects1;
+ Objects _objects2;
+ Objects _objects3;
+ Objects _objects4;
+ Health_Kit _health_kit;
+
+
+// Vairables
int _player_width;
int _player_height;
int _objects_size;
int _speed;
int lose;
int _lives;
-
int l; //counter for loop
int n; //counter for loop
int m; //counter for loop
float _time;
-
- Objects _objects1;
- Objects _objects2;
- Objects _objects3;
- Objects _objects4;
-
+
Direction _d;
float _mag;
- Health_Kit _health_kit;
int _kit_size;
bool collect;
bool used;