![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Mochu Yao explorer game
Dependencies: mbed
explorer/explorer.h@2:89f04cd3bf45, 2020-04-20 (annotated)
- Committer:
- el17my
- Date:
- Mon Apr 20 08:31:02 2020 +0000
- Revision:
- 2:89f04cd3bf45
- Child:
- 3:672d4bd8225d
the explorer module
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el17my | 2:89f04cd3bf45 | 1 | #ifndef EXPLORER_H |
el17my | 2:89f04cd3bf45 | 2 | #define EXPLORER_H |
el17my | 2:89f04cd3bf45 | 3 | |
el17my | 2:89f04cd3bf45 | 4 | #include "mbed.h" |
el17my | 2:89f04cd3bf45 | 5 | #include "Gamepad.h" |
el17my | 2:89f04cd3bf45 | 6 | //use the enum to define the value we need for the explorer |
el17my | 2:89f04cd3bf45 | 7 | enum Respond_value{ |
el17my | 2:89f04cd3bf45 | 8 | Move_right, |
el17my | 2:89f04cd3bf45 | 9 | Move_left, |
el17my | 2:89f04cd3bf45 | 10 | Stand_left, |
el17my | 2:89f04cd3bf45 | 11 | Stand_right, |
el17my | 2:89f04cd3bf45 | 12 | }; |
el17my | 2:89f04cd3bf45 | 13 | //the explorer's direction |
el17my | 2:89f04cd3bf45 | 14 | enum Player_direction { |
el17my | 2:89f04cd3bf45 | 15 | right, |
el17my | 2:89f04cd3bf45 | 16 | left |
el17my | 2:89f04cd3bf45 | 17 | }; |
el17my | 2:89f04cd3bf45 | 18 | /** explorer Class |
el17my | 2:89f04cd3bf45 | 19 | * @the explorer class has three functions |
el17my | 2:89f04cd3bf45 | 20 | 1 the movement of a explorer to jump and move in left or right direction |
el17my | 2:89f04cd3bf45 | 21 | 2 check fallen and collision |
el17my | 2:89f04cd3bf45 | 22 | 3 reset the game |
el17my | 2:89f04cd3bf45 | 23 | * @date April 15th 2020 |
el17my | 2:89f04cd3bf45 | 24 | * @author Yaomochu |
el17my | 2:89f04cd3bf45 | 25 | |
el17my | 2:89f04cd3bf45 | 26 | @code |
el17my | 2:89f04cd3bf45 | 27 | |
el17my | 2:89f04cd3bf45 | 28 | #include "mbed.h" |
el17my | 2:89f04cd3bf45 | 29 | #include "N5110.h" |
el17my | 2:89f04cd3bf45 | 30 | #include "Gamepad.h" |
el17my | 2:89f04cd3bf45 | 31 | #include "explorer.h" |
el17my | 2:89f04cd3bf45 | 32 | #include <cstdlib> |
el17my | 2:89f04cd3bf45 | 33 | #include <ctime> |
el17my | 2:89f04cd3bf45 | 34 | |
el17my | 2:89f04cd3bf45 | 35 | Gamepad gamepad; |
el17my | 2:89f04cd3bf45 | 36 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); |
el17my | 2:89f04cd3bf45 | 37 | Explorer _player; |
el17my | 2:89f04cd3bf45 | 38 | |
el17my | 2:89f04cd3bf45 | 39 | int _player_x; |
el17my | 2:89f04cd3bf45 | 40 | int _player_y; |
el17my | 2:89f04cd3bf45 | 41 | int _level; |
el17my | 2:89f04cd3bf45 | 42 | bool _start_line_flag; |
el17my | 2:89f04cd3bf45 | 43 | bool _f_flag; |
el17my | 2:89f04cd3bf45 | 44 | int _move_counter; |
el17my | 2:89f04cd3bf45 | 45 | int _jump_counter; |
el17my | 2:89f04cd3bf45 | 46 | Player_direction _player_direction; |
el17my | 2:89f04cd3bf45 | 47 | Respond_value _respond_sprite; |
el17my | 2:89f04cd3bf45 | 48 | |
el17my | 2:89f04cd3bf45 | 49 | int main() { |
el17my | 2:89f04cd3bf45 | 50 | _start_line_flag = true; |
el17my | 2:89f04cd3bf45 | 51 | _fall_flag = false; |
el17my | 2:89f04cd3bf45 | 52 | _player_direction = left; |
el17my | 2:89f04cd3bf45 | 53 | _player.r_flag(false); |
el17my | 2:89f04cd3bf45 | 54 | _move_counter = 0; |
el17my | 2:89f04cd3bf45 | 55 | _jump_counter = 15; |
el17my | 2:89f04cd3bf45 | 56 | while(1) { |
el17my | 2:89f04cd3bf45 | 57 | |
el17my | 2:89f04cd3bf45 | 58 | // Y coordinate |
el17my | 2:89f04cd3bf45 | 59 | if (_f_flag) { |
el17my | 2:89f04cd3bf45 | 60 | _player.fall(_f_flag, gamepad); |
el17my | 2:89f04cd3bf45 | 61 | } else { |
el17my | 2:89f04cd3bf45 | 62 | _player.set_y_coordinate(false, _jump_counter, _level, gamepad); |
el17my | 2:89f04cd3bf45 | 63 | } |
el17my | 2:89f04cd3bf45 | 64 | _f_flag = _player._f_flag(); |
el17my | 2:89f04cd3bf45 | 65 | _player_y = _player.get_y_(); |
el17my | 2:89f04cd3bf45 | 66 | _jump_counter = _player.get_j_counter(); |
el17my | 2:89f04cd3bf45 | 67 | |
el17my | 2:89f04cd3bf45 | 68 | // X coordinate |
el17my | 2:89f04cd3bf45 | 69 | _player.set_x_coordinate(1, _move_counter, _direction,1); |
el17my | 2:89f04cd3bf45 | 70 | _player_x = _player.get_x(); |
el17my | 2:89f04cd3bf45 | 71 | _move_counter = player.get_m_counter(); |
el17my | 2:89f04cd3bf45 | 72 | |
el17my | 2:89f04cd3bf45 | 73 | //change in to a new direction. |
el17my | 2:89f04cd3bf45 | 74 | _direction = _get_direction(); |
el17my | 2:89f04cd3bf45 | 75 | |
el17my | 2:89f04cd3bf45 | 76 | lcd.drawSprite(_player_x,_player_y,20,10,(int *)_player.get_sprite(_respond_sprite)); |
el17my | 2:89f04cd3bf45 | 77 | } |
el17my | 2:89f04cd3bf45 | 78 | } |
el17my | 2:89f04cd3bf45 | 79 | |
el17my | 2:89f04cd3bf45 | 80 | @endcode |
el17my | 2:89f04cd3bf45 | 81 | */ |
el17my | 2:89f04cd3bf45 | 82 | class Explorer { |
el17my | 2:89f04cd3bf45 | 83 | public: |
el17my | 2:89f04cd3bf45 | 84 | explorer(); |
el17my | 2:89f04cd3bf45 | 85 | //Constructor |
el17my | 2:89f04cd3bf45 | 86 | ~explorer(); |
el17my | 2:89f04cd3bf45 | 87 | //Destructor |
el17my | 2:89f04cd3bf45 | 88 | void set_x_coordinate(float joystick_x, int move, Player_direction direction, float joystick_y); |
el17my | 2:89f04cd3bf45 | 89 | |
el17my | 2:89f04cd3bf45 | 90 | void reset_flag(bool flag); |
el17my | 2:89f04cd3bf45 | 91 | void set_y_coordinate(bool ifjump, int jump_counter, int level, Gamepad &gamepad); |
el17my | 2:89f04cd3bf45 | 92 | int get_y(); |
el17my | 2:89f04cd3bf45 | 93 | |
el17my | 2:89f04cd3bf45 | 94 | int get_x(); |
el17my | 2:89f04cd3bf45 | 95 | |
el17my | 2:89f04cd3bf45 | 96 | int get_m_counter(); |
el17my | 2:89f04cd3bf45 | 97 | |
el17my | 2:89f04cd3bf45 | 98 | int get_j_counter(); |
el17my | 2:89f04cd3bf45 | 99 | |
el17my | 2:89f04cd3bf45 | 100 | bool get_f_flag(); |
el17my | 2:89f04cd3bf45 | 101 | |
el17my | 2:89f04cd3bf45 | 102 | bool get_r_flag(); |
el17my | 2:89f04cd3bf45 | 103 | |
el17my | 2:89f04cd3bf45 | 104 | Respond_value get_respond_value |
el17my | 2:89f04cd3bf45 | 105 | Player_direction get_direction(); |
el17my | 2:89f04cd3bf45 | 106 | |
el17my | 2:89f04cd3bf45 | 107 | int * get_respond(Respond_value respond); |
el17my | 2:89f04cd3bf45 | 108 | |
el17my | 2:89f04cd3bf45 | 109 | void fall(bool f_flag, Gamepad &gamepad); |
el17my | 2:89f04cd3bf45 | 110 | |
el17my | 2:89f04cd3bf45 | 111 | private: |
el17my | 2:89f04cd3bf45 | 112 | void change_x(float joystick_x); |
el17my | 2:89f04cd3bf45 | 113 | |
el17my | 2:89f04cd3bf45 | 114 | int _x; |
el17my | 2:89f04cd3bf45 | 115 | int _y; |
el17my | 2:89f04cd3bf45 | 116 | int _move_counter; |
el17my | 2:89f04cd3bf45 | 117 | int _level; |
el17my | 2:89f04cd3bf45 | 118 | int _jump_counter; |
el17my | 2:89f04cd3bf45 | 119 | bool _f_flag; |
el17my | 2:89f04cd3bf45 | 120 | bool _r_flag; |
el17my | 2:89f04cd3bf45 | 121 | Player_direction _player_direction; |
el17my | 2:89f04cd3bf45 | 122 | Respond_value _respond_value; |
el17my | 2:89f04cd3bf45 | 123 | }; |
el17my | 2:89f04cd3bf45 | 124 | #endif |