Mortal Kombat Game ELEC2645

Dependencies:   mbed N5110 ShiftReg Joystick

Committer:
ozy
Date:
Fri Apr 30 03:49:59 2021 +0000
Revision:
19:6c63e1dd7c85
Parent:
18:22bda659c70a
GameEngine Nearly Done!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ozy 0:99b49fd71085 1 #ifndef GAMEENGINE_H
ozy 0:99b49fd71085 2 #define GAMEENGINE_H
ozy 0:99b49fd71085 3
ozy 0:99b49fd71085 4 #include "mbed.h"
ozy 0:99b49fd71085 5 #include "N5110.h"
ozy 6:a1a7dc264fed 6 #include "Fighter.h"
ozy 6:a1a7dc264fed 7 #include "Enemy.h"
ozy 0:99b49fd71085 8
ozy 6:a1a7dc264fed 9 class GameEngine {
ozy 6:a1a7dc264fed 10 public:
ozy 6:a1a7dc264fed 11 GameEngine();
ozy 6:a1a7dc264fed 12 // function to initialize game
ozy 19:6c63e1dd7c85 13 void init();
ozy 7:737fb0c3dbef 14 void start(N5110 &lcd, DigitalIn &buttonA, DigitalIn &buttonB, DigitalIn &buttonC, DigitalIn &buttonD, AnalogIn &joy_v, AnalogIn &joy_h);
ozy 8:e2e2eb4ea0ca 15 void enemy_AI(N5110 &lcd);
ozy 18:22bda659c70a 16 void game_over(N5110 &lcd); // to be updated: if enemy wins, print game over. if fighter wins, finish him
ozy 19:6c63e1dd7c85 17 void draw_health_bars(N5110 &lcd);
ozy 18:22bda659c70a 18 void set_fighter_health(int fighter_health);
ozy 18:22bda659c70a 19 void set_enemy_health(int enemy_health);
ozy 18:22bda659c70a 20 void reduce_f_health(int fighter_health); // function to reduce fighter health when hit
ozy 18:22bda659c70a 21 void reduce_e_health(int enemy_health); // function to reduce enemy health when hit
ozy 18:22bda659c70a 22 int get_fighter_health();
ozy 18:22bda659c70a 23 int get_enemy_health();
ozy 19:6c63e1dd7c85 24 int check_game_over(N5110 &lcd); // if game over, execute game over function
ozy 18:22bda659c70a 25
ozy 6:a1a7dc264fed 26 private:
ozy 17:928edcdd1058 27 int check_collision(N5110 &lcd, DigitalIn &buttonA, DigitalIn &buttonB, DigitalIn &buttonC);
ozy 18:22bda659c70a 28 int _fighter_health;
ozy 18:22bda659c70a 29 int _enemy_health;
ozy 6:a1a7dc264fed 30 Fighter _fighter;
ozy 6:a1a7dc264fed 31 Enemy _enemy;
ozy 6:a1a7dc264fed 32 };
ozy 6:a1a7dc264fed 33
ozy 6:a1a7dc264fed 34 #endif