ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

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?

UserRevisionLine numberNew 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