Steven Mahasin / Mbed 2 deprecated DreamDungeon

Dependencies:   mbed MotionSensor

Committer:
el17sm
Date:
Wed Apr 24 03:09:00 2019 +0000
Revision:
14:3361879490b2
Parent:
13:d04a6caba40d
Child:
15:44d5cc33d389
Death of Entities and Bullets done, Laser problem (fire rate);

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