The library for the game engine
Diff: GameEngine.h
- Revision:
- 8:661097776006
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GameEngine.h Thu May 04 03:00:54 2017 +0000 @@ -0,0 +1,99 @@ +#ifndef GameEngine_H +#define GameEngine_H + +#include "mbed.h" +#include "N5110.h" +#include "Gamepad.h" +#include "Jet.h" +#include "Ammo.h" +#include "Monster.h" +#include "Bitmap.h" + +class GameEngine +{ +public: + + /** Constructor + * + */ + GameEngine(); + + /** Destructor + * + */ + ~GameEngine(); + + /** Initialise the game parameters + * + * This function initialises the game parameter + */ + void init(); + + /** Read the inputs + * + * This function reads the inputs from the pad + */ + void read_input(Gamepad &pad); + + /** Update the game parameters + * + * This function updates the game parameters + */ + void update(Gamepad &pad); + + /** Draw the elements in the buffer + * + * This function draws all elements in the buffer + */ + void draw(N5110 &lcd); + + /** Get the value of life */ + int get_life(); + + /** Get the value of the remained monsters */ + int get_monster_number(); + +private: + + /** Check the fire button + * + * This function checks if the fire button is pressed + */ + void check_fire(Gamepad &pad); + + /** Check the collision between the jet and the monster + * + * This function checks if the jet and the monster collide + */ + void check_Jet_collision(Gamepad &pad); + + /** Check the collision between the bullet and the monster + * + * This function checks if the bullet hits the monster + */ + void check_hit_monster(Gamepad &pad); + + /** Check if the monster hits the wall + * + * This function checks if the monster hits the wall + */ + void check_hit_wall(Gamepad &pad); + + + Jet _Jet; // Jet class + Ammo _Ammo; // Ammo class + Monster _Monster; // Monster class + + char life_buffer[14]; // buffer for life + char number_buffer[14]; // buffer for monster number + + int life; // chance to live + int monster_number; // number of the monster remained + + Direction _d; // move direction of the joystick + float _mag; // move magnitude of the joystick + int _A; // button A check + +}; + +#endif \ No newline at end of file