Mochu Yao explorer game

Dependencies:   mbed

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?

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