Mochu Yao explorer game
Dependencies: mbed
Diff: explorer/explorer.h
- Revision:
- 2:89f04cd3bf45
- Child:
- 3:672d4bd8225d
diff -r ed745421d8c4 -r 89f04cd3bf45 explorer/explorer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/explorer/explorer.h Mon Apr 20 08:31:02 2020 +0000 @@ -0,0 +1,124 @@ +#ifndef EXPLORER_H +#define EXPLORER_H + +#include "mbed.h" +#include "Gamepad.h" +//use the enum to define the value we need for the explorer +enum Respond_value{ + Move_right, + Move_left, + Stand_left, + Stand_right, +}; +//the explorer's direction +enum Player_direction { + right, + left + }; +/** explorer Class +* @the explorer class has three functions + 1 the movement of a explorer to jump and move in left or right direction + 2 check fallen and collision + 3 reset the game +* @date April 15th 2020 +* @author Yaomochu + +@code + +#include "mbed.h" +#include "N5110.h" +#include "Gamepad.h" +#include "explorer.h" +#include <cstdlib> +#include <ctime> + +Gamepad gamepad; +N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); +Explorer _player; + +int _player_x; +int _player_y; +int _level; +bool _start_line_flag; +bool _f_flag; +int _move_counter; +int _jump_counter; +Player_direction _player_direction; +Respond_value _respond_sprite; + +int main() { + _start_line_flag = true; + _fall_flag = false; + _player_direction = left; + _player.r_flag(false); + _move_counter = 0; + _jump_counter = 15; + while(1) { + + // Y coordinate + if (_f_flag) { + _player.fall(_f_flag, gamepad); + } else { + _player.set_y_coordinate(false, _jump_counter, _level, gamepad); + } + _f_flag = _player._f_flag(); + _player_y = _player.get_y_(); + _jump_counter = _player.get_j_counter(); + + // X coordinate + _player.set_x_coordinate(1, _move_counter, _direction,1); + _player_x = _player.get_x(); + _move_counter = player.get_m_counter(); + + //change in to a new direction. + _direction = _get_direction(); + + lcd.drawSprite(_player_x,_player_y,20,10,(int *)_player.get_sprite(_respond_sprite)); + } +} + +@endcode +*/ +class Explorer { + public: + explorer(); + //Constructor + ~explorer(); + //Destructor +void set_x_coordinate(float joystick_x, int move, Player_direction direction, float joystick_y); + +void reset_flag(bool flag); +void set_y_coordinate(bool ifjump, int jump_counter, int level, Gamepad &gamepad); +int get_y(); + +int get_x(); + +int get_m_counter(); + +int get_j_counter(); + +bool get_f_flag(); + +bool get_r_flag(); + +Respond_value get_respond_value +Player_direction get_direction(); + +int * get_respond(Respond_value respond); + +void fall(bool f_flag, Gamepad &gamepad); + + private: + void change_x(float joystick_x); + + int _x; + int _y; + int _move_counter; + int _level; + int _jump_counter; + bool _f_flag; + bool _r_flag; + Player_direction _player_direction; + Respond_value _respond_value; +}; +#endif