Steven Mahasin / Mbed 2 deprecated DreamDungeon

Dependencies:   mbed MotionSensor

Committer:
el17sm
Date:
Thu Apr 25 05:53:30 2019 +0000
Revision:
22:7abf4581bc9b
Parent:
16:ddb203a74dfc
Child:
23:5a8f75e93508
Snakes 90% done, need to change entity to group of entity collision into repulsion

Who changed what in which revision?

UserRevisionLine numberNew 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 13:d04a6caba40d 5
el17sm 13:d04a6caba40d 6 const int bullets_max = 20;
el17sm 10:1a3499f6b583 7
el17sm 22:7abf4581bc9b 8 class Player : public Entity
el17sm 22:7abf4581bc9b 9 {
el17sm 22:7abf4581bc9b 10 public:
el17sm 10:1a3499f6b583 11 // Constructors
el17sm 10:1a3499f6b583 12 Player(float, float);
el17sm 22:7abf4581bc9b 13
el17sm 10:1a3499f6b583 14 // Functions
el17sm 10:1a3499f6b583 15 virtual void move(float, float);
el17sm 12:a1c1991835ca 16 virtual int * get_frame();
el17sm 10:1a3499f6b583 17 void buttons(bool, bool, bool, bool);
el17sm 22:7abf4581bc9b 18
el17sm 13:d04a6caba40d 19 // accessors
el17sm 13:d04a6caba40d 20 int get_attack();
el17sm 22:7abf4581bc9b 21 int get_bullet_speed();
el17sm 22:7abf4581bc9b 22
el17sm 13:d04a6caba40d 23 // variables
el17sm 13:d04a6caba40d 24 Bullets *bullets_array[bullets_max];
el17sm 13:d04a6caba40d 25 bool valid_bullets[bullets_max];
el17sm 15:44d5cc33d389 26 int fire_rate_counter;
el17sm 15:44d5cc33d389 27 int fire_rate_delay;
el17sm 22:7abf4581bc9b 28 int _bullet_speed;
el17sm 10:1a3499f6b583 29 };
el17sm 10:1a3499f6b583 30
el17sm 12:a1c1991835ca 31 const int sprite_player [4][4][12][6] = { // Player [Face][SpriteAnimationFrame][Size_Y][Size_X]
el17sm 22:7abf4581bc9b 32 {
el17sm 22:7abf4581bc9b 33 // Up
el17sm 12:a1c1991835ca 34 {
el17sm 12:a1c1991835ca 35 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 36 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 37 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 38 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 39 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 40 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 41 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 42 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 43 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 44 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 45 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 46 {0,1,0,0,1,0,}
el17sm 12:a1c1991835ca 47 },
el17sm 12:a1c1991835ca 48 {
el17sm 12:a1c1991835ca 49 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 50 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 51 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 52 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 53 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 54 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 55 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 56 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 57 {0,0,1,1,0,1,},
el17sm 12:a1c1991835ca 58 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 59 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 60 {0,1,0,0,0,0,}
el17sm 12:a1c1991835ca 61 },
el17sm 12:a1c1991835ca 62 {
el17sm 12:a1c1991835ca 63 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 64 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 65 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 66 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 67 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 68 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 69 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 70 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 71 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 72 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 73 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 74 {0,1,0,0,1,0,}
el17sm 12:a1c1991835ca 75 },
el17sm 12:a1c1991835ca 76 {
el17sm 12:a1c1991835ca 77 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 78 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 79 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 80 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 81 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 82 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 83 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 84 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 85 {1,0,1,1,0,0,},
el17sm 12:a1c1991835ca 86 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 87 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 88 {0,0,0,0,1,0,}
el17sm 12:a1c1991835ca 89 }
el17sm 12:a1c1991835ca 90 },
el17sm 22:7abf4581bc9b 91 {
el17sm 22:7abf4581bc9b 92 // Right
el17sm 12:a1c1991835ca 93 {
el17sm 12:a1c1991835ca 94 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 95 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 96 {1,1,1,1,2,1,},
el17sm 12:a1c1991835ca 97 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 98 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 99 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 100 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 101 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 102 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 103 {0,0,1,0,0,0,},
el17sm 12:a1c1991835ca 104 {0,0,1,0,0,0,},
el17sm 12:a1c1991835ca 105 {0,0,1,1,0,0,}
el17sm 12:a1c1991835ca 106 },
el17sm 12:a1c1991835ca 107 {
el17sm 12:a1c1991835ca 108 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 109 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 110 {1,1,1,1,2,1,},
el17sm 12:a1c1991835ca 111 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 112 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 113 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 114 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 115 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 116 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 117 {0,0,1,0,1,0,},
el17sm 12:a1c1991835ca 118 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 119 {0,1,0,0,0,1,}
el17sm 12:a1c1991835ca 120 },
el17sm 12:a1c1991835ca 121 {
el17sm 12:a1c1991835ca 122 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 123 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 124 {1,1,1,1,2,1,},
el17sm 12:a1c1991835ca 125 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 126 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 127 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 128 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 129 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 130 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 131 {0,0,1,0,0,0,},
el17sm 12:a1c1991835ca 132 {0,0,1,0,0,0,},
el17sm 12:a1c1991835ca 133 {0,0,1,1,0,0,}
el17sm 12:a1c1991835ca 134 },
el17sm 12:a1c1991835ca 135 {
el17sm 12:a1c1991835ca 136 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 137 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 138 {1,1,1,1,2,1,},
el17sm 12:a1c1991835ca 139 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 140 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 141 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 142 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 143 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 144 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 145 {0,0,1,0,1,0,},
el17sm 12:a1c1991835ca 146 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 147 {0,1,0,0,0,1,}
el17sm 12:a1c1991835ca 148 }
el17sm 12:a1c1991835ca 149 },
el17sm 12:a1c1991835ca 150 {
el17sm 12:a1c1991835ca 151 // Down
el17sm 12:a1c1991835ca 152 {
el17sm 12:a1c1991835ca 153 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 154 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 155 {1,2,1,1,2,1,},
el17sm 12:a1c1991835ca 156 {1,1,2,2,1,1,},
el17sm 12:a1c1991835ca 157 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 158 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 159 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 160 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 161 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 162 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 163 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 164 {0,1,0,0,1,0,}
el17sm 12:a1c1991835ca 165 },
el17sm 12:a1c1991835ca 166 {
el17sm 12:a1c1991835ca 167 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 168 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 169 {1,2,1,1,2,1,},
el17sm 12:a1c1991835ca 170 {1,1,2,2,1,1,},
el17sm 12:a1c1991835ca 171 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 172 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 173 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 174 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 175 {0,0,1,1,0,1,},
el17sm 12:a1c1991835ca 176 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 177 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 178 {0,1,0,0,0,0,}
el17sm 12:a1c1991835ca 179 },
el17sm 12:a1c1991835ca 180 {
el17sm 12:a1c1991835ca 181 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 182 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 183 {1,2,1,1,2,1,},
el17sm 12:a1c1991835ca 184 {1,1,2,2,1,1,},
el17sm 12:a1c1991835ca 185 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 186 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 187 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 188 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 189 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 190 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 191 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 192 {0,1,0,0,1,0,}
el17sm 12:a1c1991835ca 193 },
el17sm 12:a1c1991835ca 194 {
el17sm 12:a1c1991835ca 195 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 196 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 197 {1,2,1,1,2,1,},
el17sm 12:a1c1991835ca 198 {1,1,2,2,1,1,},
el17sm 12:a1c1991835ca 199 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 200 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 201 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 202 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 203 {1,0,1,1,0,0,},
el17sm 12:a1c1991835ca 204 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 205 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 206 {0,0,0,0,1,0,}
el17sm 12:a1c1991835ca 207 }
el17sm 12:a1c1991835ca 208 },
el17sm 22:7abf4581bc9b 209 {
el17sm 22:7abf4581bc9b 210 // Left
el17sm 12:a1c1991835ca 211 {
el17sm 12:a1c1991835ca 212 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 213 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 214 {1,2,1,1,1,1,},
el17sm 12:a1c1991835ca 215 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 216 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 217 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 218 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 219 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 220 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 221 {0,0,0,1,0,0,},
el17sm 12:a1c1991835ca 222 {0,0,0,1,0,0,},
el17sm 12:a1c1991835ca 223 {0,0,1,1,0,0,}
el17sm 12:a1c1991835ca 224 },
el17sm 12:a1c1991835ca 225 {
el17sm 12:a1c1991835ca 226 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 227 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 228 {1,2,1,1,1,1,},
el17sm 12:a1c1991835ca 229 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 230 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 231 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 232 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 233 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 234 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 235 {0,1,0,1,0,0,},
el17sm 12:a1c1991835ca 236 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 237 {1,0,0,0,1,0,}
el17sm 12:a1c1991835ca 238 },
el17sm 12:a1c1991835ca 239 {
el17sm 12:a1c1991835ca 240 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 241 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 242 {1,2,1,1,1,1,},
el17sm 12:a1c1991835ca 243 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 244 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 245 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 246 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 247 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 248 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 249 {0,0,0,1,0,0,},
el17sm 12:a1c1991835ca 250 {0,0,0,1,0,0,},
el17sm 12:a1c1991835ca 251 {0,0,1,1,0,0,}
el17sm 12:a1c1991835ca 252 },
el17sm 12:a1c1991835ca 253 {
el17sm 12:a1c1991835ca 254 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 255 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 256 {1,2,1,1,1,1,},
el17sm 12:a1c1991835ca 257 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 258 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 259 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 260 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 261 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 262 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 263 {0,1,0,1,0,0,},
el17sm 12:a1c1991835ca 264 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 265 {1,0,0,0,1,0,}
el17sm 12:a1c1991835ca 266 }
el17sm 12:a1c1991835ca 267 }
el17sm 12:a1c1991835ca 268 };
el17sm 12:a1c1991835ca 269
el17sm 10:1a3499f6b583 270 #endif