Mochu Yao explorer game
Dependencies: mbed
Gameengine/Gameengine.h
- Committer:
- el17my
- Date:
- 2020-04-28
- Revision:
- 23:7be9701fc1b8
- Parent:
- 14:5e73a6e34c17
- Child:
- 26:4d193529b447
File content as of revision 23:7be9701fc1b8:
#ifndef GAMEENGINE_H #define GAMEENGINE_H #include "N5110.h" #include "mbed.h" #include "Gamepad.h" #include "item.h" #include "explorer.h" #include "surface.h" #include <cstdlib> #include <ctime> struct Coordinate { Vector2D coord; /**< Vector 2D for joystick coords */ }; /** Gameengine Class * @1 make the whole explorer game run and set the score the reset process * @2 cheak the collision and the reset or fall flag * @3 draw on the lcd screen and load the gamepad controll * @date April 24th 2020 * @author Yaomochu * @code #include "mbed.h" #include "N5110.h" #include "Gamepad.h" #include "Gameengine.h" N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); Gamepad gamepad; Gameengine _game_engine; bool _start_flag; int _player_score; int main() { _game_engine.init(); while(1) { _game_engine.check_reset(lcd, gamepad); _start_flag = _game_engine.get_start_flag(); _game_engine.read_input(gamepad); _game_engine.get_sprite(); _game_engine.get_explorer_direction(); _game_engine.get_explorer_y(gamepad); _game_engine.get_explorer_x(); _game_engine.generate_lines(); _game_engine.check_collision(gamepad); _game_engine.update_lcd(lcd); _player_score = _game_engine.get_score(); _game_engine.run_engine(lcd, gamepad); } } * @endcode */ class Gameengine { // Constructor and destructor. public: Gameengine(); ~Gameengine(); //first init all the parameter void init(); void reset_game_engine(); void read_input(Gamepad &pad); void check_reset(N5110 &lcd, Gamepad &gamepad); void check_collision(Gamepad &gamepad); void check_start(N5110 &lcd, Gamepad &gamepad); void set_fall_flag(); bool get_start_flag(); void generate_lines(); int get_score(); void get_explorer_direction(); void get_sprite(); void get_explorer_y(Gamepad &gamepad); void get_explorer_x(); void update_lcd(N5110 &lcd); void run_engine(N5110 &lcd, Gamepad &gamepad); private: Coordinate _coordinate; item _item; Explorer _player; Surface _surface; bool X_flag; int _player_x; int _player_y; bool _collision_flag; bool _f_flag; bool _r_flag; bool _start_flag; int _speed; int _jump_height; int _player_score; Line set_line_1; Line set_line_2; Line set_line_3; Line line_1_value; Line line_2_value; Line line_3_value; Line line_4_value; Line line_5_value; Line line_6_value; Player_direction _player_direction; Explorer_sprite _explorer_sprite; }; #endif