ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Wed Apr 24 13:17:58 2019 +0000
Revision:
45:bad704c546d4
Parent:
44:e29458976114
Child:
46:de3462ad5aef
Test publish

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 29:d85886364643 1 #ifndef GAMEENGINE_H
el17arm 29:d85886364643 2 #define GAMEENGINE_H
el17arm 29:d85886364643 3
el17arm 29:d85886364643 4 #include "mbed.h"
el17arm 29:d85886364643 5 #include "N5110.h"
el17arm 29:d85886364643 6 #include "Gamepad.h"
el17arm 33:023f57d52b1c 7 #include "Sprites.h"
el17arm 42:d81c008b0436 8 #include "Levels.h"
el17arm 32:5dc769ba4a58 9
el17arm 45:bad704c546d4 10 /** Gameengine Class
el17arm 45:bad704c546d4 11 @author Andrew Milner University of Leeds
el17arm 45:bad704c546d4 12 @brief Builds all levels and sets all default values. Updates all game settings
el17arm 45:bad704c546d4 13 and contains functions for all game conditions
el17arm 45:bad704c546d4 14 @date April 2019
el17arm 45:bad704c546d4 15 */
el17arm 41:0cf320f73424 16
el17arm 29:d85886364643 17 class Gameengine
el17arm 29:d85886364643 18 {
el17arm 29:d85886364643 19
el17arm 29:d85886364643 20 public:
el17arm 29:d85886364643 21
el17arm 29:d85886364643 22 Gameengine();
el17arm 29:d85886364643 23 ~Gameengine();
el17arm 45:bad704c546d4 24 /**
el17arm 45:bad704c546d4 25 * @brief Reads direction the player is moving
el17arm 45:bad704c546d4 26 * @details Uses getdirection() function from Gamepad library
el17arm 45:bad704c546d4 27 */
el17arm 29:d85886364643 28 void read_direction(Gamepad &pad);
el17arm 29:d85886364643 29 void update(N5110 &lcd, Gamepad &pad);
el17arm 29:d85886364643 30 void game_init();
el17arm 41:0cf320f73424 31 void draw_l1(N5110 &lcd, Gamepad &pad);
el17arm 41:0cf320f73424 32 void draw_l2(N5110 &lcd, Gamepad &pad);
el17arm 44:e29458976114 33 void draw_l3(N5110 &lcd, Gamepad &pad);
el17arm 41:0cf320f73424 34 void lose_life(Gamepad &pad, N5110 &lcd);
el17arm 29:d85886364643 35 bool game_over();
el17arm 33:023f57d52b1c 36 void next_level(N5110 &lcd);
el17arm 34:c5a042973e0c 37 bool trap_death(N5110 &lcd);
el17arm 37:4d525a37d5d2 38 void key_draw(N5110 &lcd,Gamepad &pad);
el17arm 38:55bb9da08a52 39 void blocks(N5110 &lcd);
el17arm 38:55bb9da08a52 40 bool enemies(N5110 &lcd);
el17arm 40:913339e324b8 41 void key_reinit();
el17arm 41:0cf320f73424 42 int oxygen_leds();
el17arm 41:0cf320f73424 43 int lives_leds();
el17arm 41:0cf320f73424 44 void get_score(N5110 &lcd);
el17arm 44:e29458976114 45 bool game_complete(N5110 &lcd);
el17arm 29:d85886364643 46
el17arm 29:d85886364643 47 private:
el17arm 29:d85886364643 48
el17arm 40:913339e324b8 49 int _level;
el17arm 29:d85886364643 50 int _lives;
el17arm 29:d85886364643 51 double _x;
el17arm 29:d85886364643 52 double _y;
el17arm 29:d85886364643 53 int _distance;
el17arm 29:d85886364643 54 int _turn_flag;
el17arm 29:d85886364643 55 int _counter;
el17arm 40:913339e324b8 56 bool _enem_flag;
el17arm 40:913339e324b8 57 int _five_keys;
el17arm 40:913339e324b8 58 bool _key_reinit;
el17arm 40:913339e324b8 59 bool level_exit(N5110 &lcd);
el17arm 41:0cf320f73424 60 int _oxy_state;
el17arm 41:0cf320f73424 61 int _life_state;
el17arm 41:0cf320f73424 62 float _total_time;
el17arm 41:0cf320f73424 63
el17arm 41:0cf320f73424 64
el17arm 41:0cf320f73424 65 float _time_total;
el17arm 41:0cf320f73424 66
el17arm 41:0cf320f73424 67 float _time;
el17arm 29:d85886364643 68
el17arm 33:023f57d52b1c 69 Sprites _sprites;
el17arm 29:d85886364643 70 Direction _d;
el17arm 42:d81c008b0436 71 Levels _lev;
el17arm 41:0cf320f73424 72 Timer _t;
el17arm 41:0cf320f73424 73
el17arm 40:913339e324b8 74
el17arm 29:d85886364643 75 };
el17arm 29:d85886364643 76 #endif