The library for the game engine

Committer:
JasonGuo
Date:
Thu May 04 11:48:40 2017 +0000
Revision:
9:bd53c6e90213
Parent:
8:661097776006
sound added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JasonGuo 8:661097776006 1 #ifndef GameEngine_H
JasonGuo 8:661097776006 2 #define GameEngine_H
JasonGuo 8:661097776006 3
JasonGuo 8:661097776006 4 #include "mbed.h"
JasonGuo 8:661097776006 5 #include "N5110.h"
JasonGuo 8:661097776006 6 #include "Gamepad.h"
JasonGuo 8:661097776006 7 #include "Jet.h"
JasonGuo 8:661097776006 8 #include "Ammo.h"
JasonGuo 8:661097776006 9 #include "Monster.h"
JasonGuo 8:661097776006 10 #include "Bitmap.h"
JasonGuo 8:661097776006 11
JasonGuo 8:661097776006 12 class GameEngine
JasonGuo 8:661097776006 13 {
JasonGuo 8:661097776006 14 public:
JasonGuo 8:661097776006 15
JasonGuo 8:661097776006 16 /** Constructor
JasonGuo 8:661097776006 17 *
JasonGuo 8:661097776006 18 */
JasonGuo 8:661097776006 19 GameEngine();
JasonGuo 8:661097776006 20
JasonGuo 8:661097776006 21 /** Destructor
JasonGuo 8:661097776006 22 *
JasonGuo 8:661097776006 23 */
JasonGuo 8:661097776006 24 ~GameEngine();
JasonGuo 8:661097776006 25
JasonGuo 8:661097776006 26 /** Initialise the game parameters
JasonGuo 8:661097776006 27 *
JasonGuo 8:661097776006 28 * This function initialises the game parameter
JasonGuo 8:661097776006 29 */
JasonGuo 8:661097776006 30 void init();
JasonGuo 8:661097776006 31
JasonGuo 8:661097776006 32 /** Read the inputs
JasonGuo 8:661097776006 33 *
JasonGuo 8:661097776006 34 * This function reads the inputs from the pad
JasonGuo 8:661097776006 35 */
JasonGuo 8:661097776006 36 void read_input(Gamepad &pad);
JasonGuo 8:661097776006 37
JasonGuo 8:661097776006 38 /** Update the game parameters
JasonGuo 8:661097776006 39 *
JasonGuo 8:661097776006 40 * This function updates the game parameters
JasonGuo 8:661097776006 41 */
JasonGuo 8:661097776006 42 void update(Gamepad &pad);
JasonGuo 8:661097776006 43
JasonGuo 8:661097776006 44 /** Draw the elements in the buffer
JasonGuo 8:661097776006 45 *
JasonGuo 8:661097776006 46 * This function draws all elements in the buffer
JasonGuo 8:661097776006 47 */
JasonGuo 8:661097776006 48 void draw(N5110 &lcd);
JasonGuo 8:661097776006 49
JasonGuo 8:661097776006 50 /** Get the value of life */
JasonGuo 8:661097776006 51 int get_life();
JasonGuo 8:661097776006 52
JasonGuo 8:661097776006 53 /** Get the value of the remained monsters */
JasonGuo 8:661097776006 54 int get_monster_number();
JasonGuo 8:661097776006 55
JasonGuo 8:661097776006 56 private:
JasonGuo 8:661097776006 57
JasonGuo 8:661097776006 58 /** Check the fire button
JasonGuo 8:661097776006 59 *
JasonGuo 8:661097776006 60 * This function checks if the fire button is pressed
JasonGuo 8:661097776006 61 */
JasonGuo 8:661097776006 62 void check_fire(Gamepad &pad);
JasonGuo 8:661097776006 63
JasonGuo 8:661097776006 64 /** Check the collision between the jet and the monster
JasonGuo 8:661097776006 65 *
JasonGuo 8:661097776006 66 * This function checks if the jet and the monster collide
JasonGuo 8:661097776006 67 */
JasonGuo 8:661097776006 68 void check_Jet_collision(Gamepad &pad);
JasonGuo 8:661097776006 69
JasonGuo 8:661097776006 70 /** Check the collision between the bullet and the monster
JasonGuo 8:661097776006 71 *
JasonGuo 8:661097776006 72 * This function checks if the bullet hits the monster
JasonGuo 8:661097776006 73 */
JasonGuo 8:661097776006 74 void check_hit_monster(Gamepad &pad);
JasonGuo 8:661097776006 75
JasonGuo 8:661097776006 76 /** Check if the monster hits the wall
JasonGuo 8:661097776006 77 *
JasonGuo 8:661097776006 78 * This function checks if the monster hits the wall
JasonGuo 8:661097776006 79 */
JasonGuo 8:661097776006 80 void check_hit_wall(Gamepad &pad);
JasonGuo 8:661097776006 81
JasonGuo 8:661097776006 82
JasonGuo 8:661097776006 83 Jet _Jet; // Jet class
JasonGuo 8:661097776006 84 Ammo _Ammo; // Ammo class
JasonGuo 8:661097776006 85 Monster _Monster; // Monster class
JasonGuo 8:661097776006 86
JasonGuo 8:661097776006 87 char life_buffer[14]; // buffer for life
JasonGuo 8:661097776006 88 char number_buffer[14]; // buffer for monster number
JasonGuo 8:661097776006 89
JasonGuo 8:661097776006 90 int life; // chance to live
JasonGuo 8:661097776006 91 int monster_number; // number of the monster remained
JasonGuo 8:661097776006 92
JasonGuo 8:661097776006 93 Direction _d; // move direction of the joystick
JasonGuo 8:661097776006 94 float _mag; // move magnitude of the joystick
JasonGuo 8:661097776006 95 int _A; // button A check
JasonGuo 8:661097776006 96
JasonGuo 8:661097776006 97 };
JasonGuo 8:661097776006 98
JasonGuo 8:661097776006 99 #endif