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.
Dependencies: mbed
Gameengine/Gameengine.h@45:bad704c546d4, 2019-04-24 (annotated)
- 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?
| User | Revision | Line number | New 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 |