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
Engine/Engine.h@6:8741d2011692, 2019-03-19 (annotated)
- Committer:
- lewisgw
- Date:
- Tue Mar 19 11:34:21 2019 +0000
- Revision:
- 6:8741d2011692
- Parent:
- 5:eda40cdde3e7
- Child:
- 7:bbc2b75c1418
Added a Map class, which is used to continuously generate moving platforms with gaps along the bottom of the LCD
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| lewisgw | 6:8741d2011692 | 1 | /** Engine Class |
| lewisgw | 6:8741d2011692 | 2 | * @brief Handles the game mechanics in a game engine: reads inputs, updates game and LCD * @author Lewis Wooltorton |
| lewisgw | 6:8741d2011692 | 3 | * @date March 2019 |
| lewisgw | 6:8741d2011692 | 4 | */ |
| lewisgw | 6:8741d2011692 | 5 | |
| lewisgw | 5:eda40cdde3e7 | 6 | #ifndef ENGINE_H |
| lewisgw | 5:eda40cdde3e7 | 7 | #define ENGINE_H |
| lewisgw | 5:eda40cdde3e7 | 8 | |
| lewisgw | 5:eda40cdde3e7 | 9 | #include "mbed.h" |
| lewisgw | 5:eda40cdde3e7 | 10 | #include "N5110.h" |
| lewisgw | 5:eda40cdde3e7 | 11 | #include "Gamepad.h" |
| lewisgw | 5:eda40cdde3e7 | 12 | #include "Skateboarder.h" |
| lewisgw | 5:eda40cdde3e7 | 13 | |
| lewisgw | 5:eda40cdde3e7 | 14 | struct Input { |
| lewisgw | 5:eda40cdde3e7 | 15 | Vector2D coord; |
| lewisgw | 5:eda40cdde3e7 | 16 | bool A_flag; |
| lewisgw | 5:eda40cdde3e7 | 17 | }; |
| lewisgw | 5:eda40cdde3e7 | 18 | |
| lewisgw | 5:eda40cdde3e7 | 19 | class Engine { |
| lewisgw | 5:eda40cdde3e7 | 20 | public: |
| lewisgw | 5:eda40cdde3e7 | 21 | |
| lewisgw | 5:eda40cdde3e7 | 22 | Engine(); |
| lewisgw | 5:eda40cdde3e7 | 23 | ~Engine(); |
| lewisgw | 5:eda40cdde3e7 | 24 | |
| lewisgw | 5:eda40cdde3e7 | 25 | void init(); |
| lewisgw | 5:eda40cdde3e7 | 26 | void read_input(Gamepad &gamepad); |
| lewisgw | 5:eda40cdde3e7 | 27 | void find_level(); |
| lewisgw | 5:eda40cdde3e7 | 28 | void process_y(); |
| lewisgw | 5:eda40cdde3e7 | 29 | void process_x(); |
| lewisgw | 5:eda40cdde3e7 | 30 | void process_sprite(); |
| lewisgw | 5:eda40cdde3e7 | 31 | void update_lcd(N5110 &lcd); |
| lewisgw | 5:eda40cdde3e7 | 32 | |
| lewisgw | 5:eda40cdde3e7 | 33 | private: |
| lewisgw | 5:eda40cdde3e7 | 34 | |
| lewisgw | 5:eda40cdde3e7 | 35 | Skateboarder _skater; |
| lewisgw | 5:eda40cdde3e7 | 36 | Input _input; |
| lewisgw | 5:eda40cdde3e7 | 37 | int _moving_counter; |
| lewisgw | 5:eda40cdde3e7 | 38 | int _jump_counter; |
| lewisgw | 5:eda40cdde3e7 | 39 | int _x; |
| lewisgw | 5:eda40cdde3e7 | 40 | int _y; |
| lewisgw | 5:eda40cdde3e7 | 41 | int _level; |
| lewisgw | 5:eda40cdde3e7 | 42 | Skate_Direction _direction; |
| lewisgw | 5:eda40cdde3e7 | 43 | Sprite_value _sprite; |
| lewisgw | 5:eda40cdde3e7 | 44 | int* _skate_sprite; |
| lewisgw | 5:eda40cdde3e7 | 45 | |
| lewisgw | 5:eda40cdde3e7 | 46 | }; |
| lewisgw | 5:eda40cdde3e7 | 47 | #endif |