A rouge-like rpg, heavily inspired on the binding of isaac. Running on a FRDM-K64F Mbed board. C++.
Dependencies: mbed MotionSensor
Entity/Player/Player.h@61:901871a7c6ff, 2019-05-09 (annotated)
- Committer:
- el17sm
- Date:
- Thu May 09 14:56:46 2019 +0000
- Revision:
- 61:901871a7c6ff
- Parent:
- 58:c8d90bb7404a
- Child:
- 59:fd4669864b67
Final Submission. I have read and agreed with Statement of Academic Integrity.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el17sm | 10:1a3499f6b583 | 1 | #ifndef PLAYER_H |
el17sm | 10:1a3499f6b583 | 2 | #define PLAYER_H |
el17sm | 10:1a3499f6b583 | 3 | #include "Entity.h" |
el17sm | 13:d04a6caba40d | 4 | #include "Bullets.h" |
el17sm | 33:4f3948dcd2f7 | 5 | #define INVULNERABILITY_PERIOD 50 |
el17sm | 13:d04a6caba40d | 6 | |
el17sm | 13:d04a6caba40d | 7 | const int bullets_max = 20; |
el17sm | 58:c8d90bb7404a | 8 | /**Player Class |
el17sm | 58:c8d90bb7404a | 9 | @author Steven Mahasin |
el17sm | 58:c8d90bb7404a | 10 | @brief Creates a Player which inherits the Entity class, contains functions that accepts all user interractions (buttons, joystick, etc) |
el17sm | 58:c8d90bb7404a | 11 | @date May 2019 |
el17sm | 58:c8d90bb7404a | 12 | */ |
el17sm | 22:7abf4581bc9b | 13 | class Player : public Entity |
el17sm | 22:7abf4581bc9b | 14 | { |
el17sm | 23:5a8f75e93508 | 15 | private: |
el17sm | 23:5a8f75e93508 | 16 | |
el17sm | 23:5a8f75e93508 | 17 | // Member Variables |
el17sm | 58:c8d90bb7404a | 18 | /** |
el17sm | 58:c8d90bb7404a | 19 | * @brief a counter that increments to give a delay to the fire rate of player |
el17sm | 58:c8d90bb7404a | 20 | */ |
el17sm | 57:1c12361b6e3d | 21 | int _fire_rate_counter; |
el17sm | 58:c8d90bb7404a | 22 | /** |
el17sm | 58:c8d90bb7404a | 23 | * @brief a delay between each shot |
el17sm | 58:c8d90bb7404a | 24 | */ |
el17sm | 57:1c12361b6e3d | 25 | int _fire_rate_delay; |
el17sm | 58:c8d90bb7404a | 26 | /** |
el17sm | 58:c8d90bb7404a | 27 | * @brief the speed of the bullets created by this player |
el17sm | 58:c8d90bb7404a | 28 | */ |
el17sm | 23:5a8f75e93508 | 29 | int _bullet_speed; |
el17sm | 58:c8d90bb7404a | 30 | /** |
el17sm | 58:c8d90bb7404a | 31 | * @brief a counter that increments, allowing player to be invulnerable to a certain period defined |
el17sm | 58:c8d90bb7404a | 32 | */ |
el17sm | 57:1c12361b6e3d | 33 | int _invulnerability_counter; |
el17sm | 23:5a8f75e93508 | 34 | |
el17sm | 30:ec915d24d3e9 | 35 | // Private Functions |
el17sm | 58:c8d90bb7404a | 36 | /** |
el17sm | 58:c8d90bb7404a | 37 | * @brief movement of the player |
el17sm | 58:c8d90bb7404a | 38 | * @param mapped_x @details joystick x |
el17sm | 58:c8d90bb7404a | 39 | * @param mapped_y @details joystick y |
el17sm | 58:c8d90bb7404a | 40 | * @param map @details the 2d map array that dictates where there are walls or empty space |
el17sm | 58:c8d90bb7404a | 41 | * @param doorways @details an array that dictates which side of the wall has a doorway |
el17sm | 58:c8d90bb7404a | 42 | */ |
el17sm | 34:1d5b4da3935e | 43 | void move_player(float mapped_x, float mapped_y, char * map, bool * doorways); |
el17sm | 58:c8d90bb7404a | 44 | /** |
el17sm | 58:c8d90bb7404a | 45 | * @brief movement of the bullets shot by this player |
el17sm | 58:c8d90bb7404a | 46 | */ |
el17sm | 30:ec915d24d3e9 | 47 | void move_bullets(); |
el17sm | 58:c8d90bb7404a | 48 | /** |
el17sm | 58:c8d90bb7404a | 49 | * @brief to increment the _frame protected variable, for animation of player |
el17sm | 58:c8d90bb7404a | 50 | * @param mapped_x @details joystick x |
el17sm | 58:c8d90bb7404a | 51 | * @param mapped_y @details joystick y |
el17sm | 58:c8d90bb7404a | 52 | */ |
el17sm | 30:ec915d24d3e9 | 53 | void increment_frames(float mapped_x, float mapped_y); |
el17sm | 58:c8d90bb7404a | 54 | /** |
el17sm | 58:c8d90bb7404a | 55 | * @brief getting the needed frame of animation of player |
el17sm | 58:c8d90bb7404a | 56 | * @return char pointer array to the corresponding player frame |
el17sm | 58:c8d90bb7404a | 57 | */ |
el17sm | 33:4f3948dcd2f7 | 58 | char * get_frame(); |
el17sm | 58:c8d90bb7404a | 59 | /** |
el17sm | 58:c8d90bb7404a | 60 | * @brief draws the player onto the screen |
el17sm | 58:c8d90bb7404a | 61 | * @param lcd @details the screen the player is drawn onto |
el17sm | 58:c8d90bb7404a | 62 | */ |
el17sm | 32:fe6359ef9916 | 63 | void draw_player(N5110 &lcd); |
el17sm | 30:ec915d24d3e9 | 64 | |
el17sm | 22:7abf4581bc9b | 65 | public: |
el17sm | 58:c8d90bb7404a | 66 | /** Constructor |
el17sm | 58:c8d90bb7404a | 67 | * @brief creates a player at positions pos_x and pos_y |
el17sm | 58:c8d90bb7404a | 68 | * @param pos_x @details initialise _position.x |
el17sm | 58:c8d90bb7404a | 69 | * @param pos_y @details initialise _position.y |
el17sm | 58:c8d90bb7404a | 70 | */ |
el17sm | 29:6b8411bb040a | 71 | Player(float pos_x, float pos_y); |
el17sm | 58:c8d90bb7404a | 72 | /** Deconstructors */ |
el17sm | 27:a1b41626f57c | 73 | ~Player(); |
el17sm | 22:7abf4581bc9b | 74 | |
el17sm | 29:6b8411bb040a | 75 | // Accessors |
el17sm | 58:c8d90bb7404a | 76 | /** |
el17sm | 58:c8d90bb7404a | 77 | * @brief getting the player's bullet speed |
el17sm | 58:c8d90bb7404a | 78 | * @return _bullet_speed |
el17sm | 58:c8d90bb7404a | 79 | */ |
el17sm | 29:6b8411bb040a | 80 | int get_bullet_speed(); |
el17sm | 58:c8d90bb7404a | 81 | /** |
el17sm | 58:c8d90bb7404a | 82 | * @brief getting the heart sprite's width |
el17sm | 58:c8d90bb7404a | 83 | * @return width of the heart sprite |
el17sm | 58:c8d90bb7404a | 84 | */ |
el17sm | 23:5a8f75e93508 | 85 | int get_hearts_width(); |
el17sm | 58:c8d90bb7404a | 86 | /** |
el17sm | 58:c8d90bb7404a | 87 | * @brief getting the heart sprite's height |
el17sm | 58:c8d90bb7404a | 88 | * @return height of the heart sprite |
el17sm | 58:c8d90bb7404a | 89 | */ |
el17sm | 23:5a8f75e93508 | 90 | int get_hearts_height(); |
el17sm | 58:c8d90bb7404a | 91 | /** |
el17sm | 58:c8d90bb7404a | 92 | * @brief getting the heart sprite char array |
el17sm | 58:c8d90bb7404a | 93 | * @return char pointer array to the heart sprite |
el17sm | 58:c8d90bb7404a | 94 | */ |
el17sm | 33:4f3948dcd2f7 | 95 | char * get_hearts_sprite(); |
el17sm | 29:6b8411bb040a | 96 | |
el17sm | 29:6b8411bb040a | 97 | // Functions |
el17sm | 58:c8d90bb7404a | 98 | /** |
el17sm | 58:c8d90bb7404a | 99 | * @brief function calls both movement of player and movement of bullets |
el17sm | 58:c8d90bb7404a | 100 | * @param x_value @details joystick x |
el17sm | 58:c8d90bb7404a | 101 | * @param y_value @details joystick y |
el17sm | 58:c8d90bb7404a | 102 | * @param map @details the 2d map array that dictates where there are walls or empty space |
el17sm | 58:c8d90bb7404a | 103 | * @param doorways @details an array that dictates which side of the wall has a doorway |
el17sm | 58:c8d90bb7404a | 104 | */ |
el17sm | 58:c8d90bb7404a | 105 | virtual void move(float x_value, float y_value, char * map, bool * doorways); |
el17sm | 58:c8d90bb7404a | 106 | /** |
el17sm | 58:c8d90bb7404a | 107 | * @brief reduce _hp by damage |
el17sm | 58:c8d90bb7404a | 108 | * @param damage @details the amount of damage to be taken |
el17sm | 58:c8d90bb7404a | 109 | */ |
el17sm | 29:6b8411bb040a | 110 | virtual void take_damage(int damage); |
el17sm | 58:c8d90bb7404a | 111 | /** |
el17sm | 58:c8d90bb7404a | 112 | * @brief a virtual function of drawing the player onto the screen |
el17sm | 58:c8d90bb7404a | 113 | * @param lcd @details the screen where the player is drawn on |
el17sm | 58:c8d90bb7404a | 114 | */ |
el17sm | 32:fe6359ef9916 | 115 | virtual void draw(N5110 &lcd); |
el17sm | 58:c8d90bb7404a | 116 | /** |
el17sm | 58:c8d90bb7404a | 117 | * @brief a virtual function of drawing the bullets the player shot onto the screen if j is the correct y-position of the bullets |
el17sm | 58:c8d90bb7404a | 118 | * @param lcd @details the screen where the bullets is drawn on |
el17sm | 58:c8d90bb7404a | 119 | * @param j @details which y-position hitboxes are currently being printed |
el17sm | 58:c8d90bb7404a | 120 | */ |
el17sm | 40:cbcbf6fc1421 | 121 | void draw_bullets(N5110 &lcd, int j); |
el17sm | 58:c8d90bb7404a | 122 | /** |
el17sm | 58:c8d90bb7404a | 123 | * @brief attempts to delete any bullets that goes out of bounds (out of screen or onto a wall) |
el17sm | 58:c8d90bb7404a | 124 | * @param map @details the 2d map array that dictates where there are walls or empty space |
el17sm | 58:c8d90bb7404a | 125 | * @param doorawys @details an array that dictates which side of the wall has a doorway |
el17sm | 58:c8d90bb7404a | 126 | * @return true if any bullets is successfully deleted |
el17sm | 58:c8d90bb7404a | 127 | */ |
el17sm | 50:2c5cb92a5361 | 128 | bool delete_out_of_bounds_bullets(char * map, bool * doorways); |
el17sm | 58:c8d90bb7404a | 129 | /** |
el17sm | 58:c8d90bb7404a | 130 | * @brief deletes any existing bullets |
el17sm | 58:c8d90bb7404a | 131 | */ |
el17sm | 29:6b8411bb040a | 132 | void delete_bullets(); |
el17sm | 58:c8d90bb7404a | 133 | /** |
el17sm | 58:c8d90bb7404a | 134 | * @brief shoots bullets at the direction of the buttons |
el17sm | 58:c8d90bb7404a | 135 | * @param button_A @details button down |
el17sm | 58:c8d90bb7404a | 136 | * @param button_B @details button right |
el17sm | 58:c8d90bb7404a | 137 | * @param button_Y @details button up |
el17sm | 58:c8d90bb7404a | 138 | * @param button_X @details button left |
el17sm | 58:c8d90bb7404a | 139 | */ |
el17sm | 29:6b8411bb040a | 140 | void buttons(bool button_A, bool button_B, bool button_Y, bool button_X); |
el17sm | 22:7abf4581bc9b | 141 | |
el17sm | 29:6b8411bb040a | 142 | // Variables |
el17sm | 58:c8d90bb7404a | 143 | /** |
el17sm | 58:c8d90bb7404a | 144 | * @brief a bullets pointer array that holds all the possible bullets the player can shoot |
el17sm | 58:c8d90bb7404a | 145 | */ |
el17sm | 13:d04a6caba40d | 146 | Bullets *bullets_array[bullets_max]; |
el17sm | 58:c8d90bb7404a | 147 | /** |
el17sm | 58:c8d90bb7404a | 148 | * @brief a boolean array that dictates which bullets in the bullets array exist |
el17sm | 58:c8d90bb7404a | 149 | */ |
el17sm | 13:d04a6caba40d | 150 | bool valid_bullets[bullets_max]; |
el17sm | 23:5a8f75e93508 | 151 | |
el17sm | 23:5a8f75e93508 | 152 | }; |
el17sm | 23:5a8f75e93508 | 153 | |
el17sm | 23:5a8f75e93508 | 154 | // Sprite |
el17sm | 33:4f3948dcd2f7 | 155 | const char sprite_heart[9][9] = { |
el17sm | 23:5a8f75e93508 | 156 | {0,1,1,0,0,0,1,1,0,}, |
el17sm | 23:5a8f75e93508 | 157 | {1,1,1,1,0,1,1,1,1,}, |
el17sm | 23:5a8f75e93508 | 158 | {1,2,1,1,1,1,1,1,1,}, |
el17sm | 23:5a8f75e93508 | 159 | {1,2,1,1,1,1,1,1,1,}, |
el17sm | 23:5a8f75e93508 | 160 | {1,2,1,1,1,1,1,1,1,}, |
el17sm | 23:5a8f75e93508 | 161 | {0,1,2,1,1,1,1,1,0,}, |
el17sm | 23:5a8f75e93508 | 162 | {0,0,1,1,1,1,1,0,0,}, |
el17sm | 23:5a8f75e93508 | 163 | {0,0,0,1,1,1,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 164 | {0,0,0,0,1,0,0,0,0,} |
el17sm | 23:5a8f75e93508 | 165 | }; |
el17sm | 23:5a8f75e93508 | 166 | |
el17sm | 33:4f3948dcd2f7 | 167 | const char sprite_dying_player [5][12][12] = { // sprite_dying_player [Frame][Size_Y][Size_X] |
el17sm | 27:a1b41626f57c | 168 | { |
el17sm | 27:a1b41626f57c | 169 | {0,1,1,1,1,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 170 | {1,1,1,1,1,1,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 171 | {1,2,1,1,1,1,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 172 | {1,1,1,1,1,1,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 173 | {0,1,1,1,1,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 174 | {0,0,1,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 175 | {0,0,1,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 176 | {0,0,1,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 177 | {0,0,1,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 178 | {0,0,0,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 179 | {0,0,0,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 180 | {0,0,1,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 181 | }, |
el17sm | 27:a1b41626f57c | 182 | { |
el17sm | 27:a1b41626f57c | 183 | {0,0,0,0,1,1,1,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 184 | {0,0,0,1,2,1,1,1,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 185 | {0,0,0,1,1,1,1,1,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 186 | {0,0,0,1,1,1,1,1,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 187 | {0,0,0,0,1,1,1,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 188 | {0,1,1,1,1,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 189 | {0,0,1,1,1,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 190 | {0,0,1,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 191 | {0,1,1,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 192 | {0,1,0,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 193 | {1,0,0,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 194 | {0,0,1,1,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 195 | }, |
el17sm | 27:a1b41626f57c | 196 | { |
el17sm | 27:a1b41626f57c | 197 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 198 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 199 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 200 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 201 | {0,0,0,0,1,0,0,0,1,1,1,0,}, |
el17sm | 27:a1b41626f57c | 202 | {0,0,0,0,0,1,0,1,1,2,1,1,}, |
el17sm | 27:a1b41626f57c | 203 | {0,0,0,0,0,1,1,1,1,1,1,1,}, |
el17sm | 27:a1b41626f57c | 204 | {0,0,0,1,1,1,1,1,1,1,1,1,}, |
el17sm | 27:a1b41626f57c | 205 | {0,1,1,1,1,1,1,0,1,1,1,0,}, |
el17sm | 27:a1b41626f57c | 206 | {1,0,0,1,1,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 207 | {0,0,1,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 208 | {0,1,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 209 | }, |
el17sm | 27:a1b41626f57c | 210 | { |
el17sm | 27:a1b41626f57c | 211 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 212 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 213 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 214 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 215 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 216 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 217 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 218 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 219 | {1,0,0,0,1,0,0,0,1,1,1,0,}, |
el17sm | 27:a1b41626f57c | 220 | {0,1,1,0,0,1,1,1,1,2,1,1,}, |
el17sm | 27:a1b41626f57c | 221 | {1,0,0,1,1,1,1,1,1,1,1,1,}, |
el17sm | 27:a1b41626f57c | 222 | {1,1,1,1,1,1,1,1,1,1,1,1,}, |
el17sm | 27:a1b41626f57c | 223 | }, |
el17sm | 27:a1b41626f57c | 224 | { |
el17sm | 27:a1b41626f57c | 225 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 226 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 227 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 228 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 229 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 230 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 231 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 232 | {0,0,0,0,0,0,0,0,0,0,0,0,}, |
el17sm | 27:a1b41626f57c | 233 | {0,0,0,0,0,0,0,0,1,1,1,0,}, |
el17sm | 27:a1b41626f57c | 234 | {0,0,0,0,0,0,0,1,1,1,1,1,}, |
el17sm | 27:a1b41626f57c | 235 | {1,0,0,1,1,1,1,1,1,1,1,1,}, |
el17sm | 27:a1b41626f57c | 236 | {1,1,1,1,1,1,1,1,1,1,1,1,}, |
el17sm | 27:a1b41626f57c | 237 | } |
el17sm | 27:a1b41626f57c | 238 | }; |
el17sm | 27:a1b41626f57c | 239 | |
el17sm | 27:a1b41626f57c | 240 | |
el17sm | 33:4f3948dcd2f7 | 241 | const char sprite_transparent_player[12][6] = { |
el17sm | 23:5a8f75e93508 | 242 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 243 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 244 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 245 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 246 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 247 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 248 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 249 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 250 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 251 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 252 | {0,0,0,0,0,0,}, |
el17sm | 23:5a8f75e93508 | 253 | {0,0,0,0,0,0,} |
el17sm | 10:1a3499f6b583 | 254 | }; |
el17sm | 10:1a3499f6b583 | 255 | |
el17sm | 33:4f3948dcd2f7 | 256 | const char sprite_player [4][4][12][6] = { // Player [Face][SpriteAnimationFrame][Size_Y][Size_X] |
el17sm | 22:7abf4581bc9b | 257 | { |
el17sm | 22:7abf4581bc9b | 258 | // Up |
el17sm | 12:a1c1991835ca | 259 | { |
el17sm | 12:a1c1991835ca | 260 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 261 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 262 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 263 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 264 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 265 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 266 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 267 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 268 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 269 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 270 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 271 | {0,1,0,0,1,0,} |
el17sm | 12:a1c1991835ca | 272 | }, |
el17sm | 12:a1c1991835ca | 273 | { |
el17sm | 12:a1c1991835ca | 274 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 275 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 276 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 277 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 278 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 279 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 280 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 281 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 282 | {0,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 283 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 284 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 285 | {0,1,0,0,0,0,} |
el17sm | 12:a1c1991835ca | 286 | }, |
el17sm | 12:a1c1991835ca | 287 | { |
el17sm | 12:a1c1991835ca | 288 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 289 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 290 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 291 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 292 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 293 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 294 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 295 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 296 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 297 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 298 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 299 | {0,1,0,0,1,0,} |
el17sm | 12:a1c1991835ca | 300 | }, |
el17sm | 12:a1c1991835ca | 301 | { |
el17sm | 12:a1c1991835ca | 302 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 303 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 304 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 305 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 306 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 307 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 308 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 309 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 310 | {1,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 311 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 312 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 313 | {0,0,0,0,1,0,} |
el17sm | 12:a1c1991835ca | 314 | } |
el17sm | 12:a1c1991835ca | 315 | }, |
el17sm | 22:7abf4581bc9b | 316 | { |
el17sm | 22:7abf4581bc9b | 317 | // Right |
el17sm | 12:a1c1991835ca | 318 | { |
el17sm | 12:a1c1991835ca | 319 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 320 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 321 | {1,1,1,1,2,1,}, |
el17sm | 12:a1c1991835ca | 322 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 323 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 324 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 325 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 326 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 327 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 328 | {0,0,1,0,0,0,}, |
el17sm | 12:a1c1991835ca | 329 | {0,0,1,0,0,0,}, |
el17sm | 12:a1c1991835ca | 330 | {0,0,1,1,0,0,} |
el17sm | 12:a1c1991835ca | 331 | }, |
el17sm | 12:a1c1991835ca | 332 | { |
el17sm | 12:a1c1991835ca | 333 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 334 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 335 | {1,1,1,1,2,1,}, |
el17sm | 12:a1c1991835ca | 336 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 337 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 338 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 339 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 340 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 341 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 342 | {0,0,1,0,1,0,}, |
el17sm | 12:a1c1991835ca | 343 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 344 | {0,1,0,0,0,1,} |
el17sm | 12:a1c1991835ca | 345 | }, |
el17sm | 12:a1c1991835ca | 346 | { |
el17sm | 12:a1c1991835ca | 347 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 348 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 349 | {1,1,1,1,2,1,}, |
el17sm | 12:a1c1991835ca | 350 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 351 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 352 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 353 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 354 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 355 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 356 | {0,0,1,0,0,0,}, |
el17sm | 12:a1c1991835ca | 357 | {0,0,1,0,0,0,}, |
el17sm | 12:a1c1991835ca | 358 | {0,0,1,1,0,0,} |
el17sm | 12:a1c1991835ca | 359 | }, |
el17sm | 12:a1c1991835ca | 360 | { |
el17sm | 12:a1c1991835ca | 361 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 362 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 363 | {1,1,1,1,2,1,}, |
el17sm | 12:a1c1991835ca | 364 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 365 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 366 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 367 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 368 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 369 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 370 | {0,0,1,0,1,0,}, |
el17sm | 12:a1c1991835ca | 371 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 372 | {0,1,0,0,0,1,} |
el17sm | 12:a1c1991835ca | 373 | } |
el17sm | 12:a1c1991835ca | 374 | }, |
el17sm | 12:a1c1991835ca | 375 | { |
el17sm | 12:a1c1991835ca | 376 | // Down |
el17sm | 12:a1c1991835ca | 377 | { |
el17sm | 12:a1c1991835ca | 378 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 379 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 380 | {1,2,1,1,2,1,}, |
el17sm | 12:a1c1991835ca | 381 | {1,1,2,2,1,1,}, |
el17sm | 12:a1c1991835ca | 382 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 383 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 384 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 385 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 386 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 387 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 388 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 389 | {0,1,0,0,1,0,} |
el17sm | 12:a1c1991835ca | 390 | }, |
el17sm | 12:a1c1991835ca | 391 | { |
el17sm | 12:a1c1991835ca | 392 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 393 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 394 | {1,2,1,1,2,1,}, |
el17sm | 12:a1c1991835ca | 395 | {1,1,2,2,1,1,}, |
el17sm | 12:a1c1991835ca | 396 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 397 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 398 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 399 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 400 | {0,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 401 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 402 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 403 | {0,1,0,0,0,0,} |
el17sm | 12:a1c1991835ca | 404 | }, |
el17sm | 12:a1c1991835ca | 405 | { |
el17sm | 12:a1c1991835ca | 406 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 407 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 408 | {1,2,1,1,2,1,}, |
el17sm | 12:a1c1991835ca | 409 | {1,1,2,2,1,1,}, |
el17sm | 12:a1c1991835ca | 410 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 411 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 412 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 413 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 414 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 415 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 416 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 417 | {0,1,0,0,1,0,} |
el17sm | 12:a1c1991835ca | 418 | }, |
el17sm | 12:a1c1991835ca | 419 | { |
el17sm | 12:a1c1991835ca | 420 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 421 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 422 | {1,2,1,1,2,1,}, |
el17sm | 12:a1c1991835ca | 423 | {1,1,2,2,1,1,}, |
el17sm | 12:a1c1991835ca | 424 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 425 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 426 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 427 | {1,0,1,1,0,1,}, |
el17sm | 12:a1c1991835ca | 428 | {1,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 429 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 430 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 431 | {0,0,0,0,1,0,} |
el17sm | 12:a1c1991835ca | 432 | } |
el17sm | 12:a1c1991835ca | 433 | }, |
el17sm | 22:7abf4581bc9b | 434 | { |
el17sm | 22:7abf4581bc9b | 435 | // Left |
el17sm | 12:a1c1991835ca | 436 | { |
el17sm | 12:a1c1991835ca | 437 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 438 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 439 | {1,2,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 440 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 441 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 442 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 443 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 444 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 445 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 446 | {0,0,0,1,0,0,}, |
el17sm | 12:a1c1991835ca | 447 | {0,0,0,1,0,0,}, |
el17sm | 12:a1c1991835ca | 448 | {0,0,1,1,0,0,} |
el17sm | 12:a1c1991835ca | 449 | }, |
el17sm | 12:a1c1991835ca | 450 | { |
el17sm | 12:a1c1991835ca | 451 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 452 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 453 | {1,2,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 454 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 455 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 456 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 457 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 458 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 459 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 460 | {0,1,0,1,0,0,}, |
el17sm | 12:a1c1991835ca | 461 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 462 | {1,0,0,0,1,0,} |
el17sm | 12:a1c1991835ca | 463 | }, |
el17sm | 12:a1c1991835ca | 464 | { |
el17sm | 12:a1c1991835ca | 465 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 466 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 467 | {1,2,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 468 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 469 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 470 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 471 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 472 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 473 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 474 | {0,0,0,1,0,0,}, |
el17sm | 12:a1c1991835ca | 475 | {0,0,0,1,0,0,}, |
el17sm | 12:a1c1991835ca | 476 | {0,0,1,1,0,0,} |
el17sm | 12:a1c1991835ca | 477 | }, |
el17sm | 12:a1c1991835ca | 478 | { |
el17sm | 12:a1c1991835ca | 479 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 480 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 481 | {1,2,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 482 | {1,1,1,1,1,1,}, |
el17sm | 12:a1c1991835ca | 483 | {0,1,1,1,1,0,}, |
el17sm | 12:a1c1991835ca | 484 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 485 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 486 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 487 | {0,0,1,1,0,0,}, |
el17sm | 12:a1c1991835ca | 488 | {0,1,0,1,0,0,}, |
el17sm | 12:a1c1991835ca | 489 | {0,1,0,0,1,0,}, |
el17sm | 12:a1c1991835ca | 490 | {1,0,0,0,1,0,} |
el17sm | 12:a1c1991835ca | 491 | } |
el17sm | 12:a1c1991835ca | 492 | } |
el17sm | 12:a1c1991835ca | 493 | }; |
el17sm | 12:a1c1991835ca | 494 | |
el17sm | 10:1a3499f6b583 | 495 | #endif |