Steven Mahasin / Mbed 2 deprecated DreamDungeon

Dependencies:   mbed MotionSensor

Committer:
el17sm
Date:
Wed Apr 24 21:21:37 2019 +0000
Revision:
16:ddb203a74dfc
Parent:
15:44d5cc33d389
Child:
21:be18f33da757
Child:
22:7abf4581bc9b
Screen clear error;

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 15:44d5cc33d389 24 int fire_rate_counter;
el17sm 15:44d5cc33d389 25 int fire_rate_delay;
el17sm 10:1a3499f6b583 26 };
el17sm 10:1a3499f6b583 27
el17sm 12:a1c1991835ca 28 const int sprite_player [4][4][12][6] = { // Player [Face][SpriteAnimationFrame][Size_Y][Size_X]
el17sm 12:a1c1991835ca 29 { // Up
el17sm 12:a1c1991835ca 30 {
el17sm 12:a1c1991835ca 31 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 32 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 33 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 34 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 35 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 36 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 37 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 38 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 39 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 40 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 41 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 42 {0,1,0,0,1,0,}
el17sm 12:a1c1991835ca 43 },
el17sm 12:a1c1991835ca 44 {
el17sm 12:a1c1991835ca 45 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 46 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 47 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 48 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 49 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 50 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 51 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 52 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 53 {0,0,1,1,0,1,},
el17sm 12:a1c1991835ca 54 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 55 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 56 {0,1,0,0,0,0,}
el17sm 12:a1c1991835ca 57 },
el17sm 12:a1c1991835ca 58 {
el17sm 12:a1c1991835ca 59 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 60 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 61 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 62 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 63 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 64 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 65 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 66 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 67 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 68 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 69 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 70 {0,1,0,0,1,0,}
el17sm 12:a1c1991835ca 71 },
el17sm 12:a1c1991835ca 72 {
el17sm 12:a1c1991835ca 73 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 74 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 75 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 76 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 77 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 78 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 79 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 80 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 81 {1,0,1,1,0,0,},
el17sm 12:a1c1991835ca 82 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 83 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 84 {0,0,0,0,1,0,}
el17sm 12:a1c1991835ca 85 }
el17sm 12:a1c1991835ca 86 },
el17sm 12:a1c1991835ca 87 { // Right
el17sm 12:a1c1991835ca 88 {
el17sm 12:a1c1991835ca 89 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 90 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 91 {1,1,1,1,2,1,},
el17sm 12:a1c1991835ca 92 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 93 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 94 {0,0,1,1,0,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,0,0,0,},
el17sm 12:a1c1991835ca 99 {0,0,1,0,0,0,},
el17sm 12:a1c1991835ca 100 {0,0,1,1,0,0,}
el17sm 12:a1c1991835ca 101 },
el17sm 12:a1c1991835ca 102 {
el17sm 12:a1c1991835ca 103 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 104 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 105 {1,1,1,1,2,1,},
el17sm 12:a1c1991835ca 106 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 107 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 108 {0,0,1,1,0,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,0,1,0,},
el17sm 12:a1c1991835ca 113 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 114 {0,1,0,0,0,1,}
el17sm 12:a1c1991835ca 115 },
el17sm 12:a1c1991835ca 116 {
el17sm 12:a1c1991835ca 117 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 118 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 119 {1,1,1,1,2,1,},
el17sm 12:a1c1991835ca 120 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 121 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 122 {0,0,1,1,0,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,0,0,0,},
el17sm 12:a1c1991835ca 127 {0,0,1,0,0,0,},
el17sm 12:a1c1991835ca 128 {0,0,1,1,0,0,}
el17sm 12:a1c1991835ca 129 },
el17sm 12:a1c1991835ca 130 {
el17sm 12:a1c1991835ca 131 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 132 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 133 {1,1,1,1,2,1,},
el17sm 12:a1c1991835ca 134 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 135 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 136 {0,0,1,1,0,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,0,1,0,},
el17sm 12:a1c1991835ca 141 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 142 {0,1,0,0,0,1,}
el17sm 12:a1c1991835ca 143 }
el17sm 12:a1c1991835ca 144 },
el17sm 12:a1c1991835ca 145 {
el17sm 12:a1c1991835ca 146 // Down
el17sm 12:a1c1991835ca 147 {
el17sm 12:a1c1991835ca 148 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 149 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 150 {1,2,1,1,2,1,},
el17sm 12:a1c1991835ca 151 {1,1,2,2,1,1,},
el17sm 12:a1c1991835ca 152 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 153 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 154 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 155 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 156 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 157 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 158 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 159 {0,1,0,0,1,0,}
el17sm 12:a1c1991835ca 160 },
el17sm 12:a1c1991835ca 161 {
el17sm 12:a1c1991835ca 162 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 163 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 164 {1,2,1,1,2,1,},
el17sm 12:a1c1991835ca 165 {1,1,2,2,1,1,},
el17sm 12:a1c1991835ca 166 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 167 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 168 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 169 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 170 {0,0,1,1,0,1,},
el17sm 12:a1c1991835ca 171 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 172 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 173 {0,1,0,0,0,0,}
el17sm 12:a1c1991835ca 174 },
el17sm 12:a1c1991835ca 175 {
el17sm 12:a1c1991835ca 176 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 177 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 178 {1,2,1,1,2,1,},
el17sm 12:a1c1991835ca 179 {1,1,2,2,1,1,},
el17sm 12:a1c1991835ca 180 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 181 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 182 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 183 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 184 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 185 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 186 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 187 {0,1,0,0,1,0,}
el17sm 12:a1c1991835ca 188 },
el17sm 12:a1c1991835ca 189 {
el17sm 12:a1c1991835ca 190 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 191 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 192 {1,2,1,1,2,1,},
el17sm 12:a1c1991835ca 193 {1,1,2,2,1,1,},
el17sm 12:a1c1991835ca 194 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 195 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 196 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 197 {1,0,1,1,0,1,},
el17sm 12:a1c1991835ca 198 {1,0,1,1,0,0,},
el17sm 12:a1c1991835ca 199 {0,0,1,1,0,0,},
el17sm 12:a1c1991835ca 200 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 201 {0,0,0,0,1,0,}
el17sm 12:a1c1991835ca 202 }
el17sm 12:a1c1991835ca 203 },
el17sm 12:a1c1991835ca 204 { // Left
el17sm 12:a1c1991835ca 205 {
el17sm 12:a1c1991835ca 206 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 207 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 208 {1,2,1,1,1,1,},
el17sm 12:a1c1991835ca 209 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 210 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 211 {0,0,1,1,0,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,0,1,0,0,},
el17sm 12:a1c1991835ca 216 {0,0,0,1,0,0,},
el17sm 12:a1c1991835ca 217 {0,0,1,1,0,0,}
el17sm 12:a1c1991835ca 218 },
el17sm 12:a1c1991835ca 219 {
el17sm 12:a1c1991835ca 220 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 221 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 222 {1,2,1,1,1,1,},
el17sm 12:a1c1991835ca 223 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 224 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 225 {0,0,1,1,0,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,1,0,1,0,0,},
el17sm 12:a1c1991835ca 230 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 231 {1,0,0,0,1,0,}
el17sm 12:a1c1991835ca 232 },
el17sm 12:a1c1991835ca 233 {
el17sm 12:a1c1991835ca 234 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 235 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 236 {1,2,1,1,1,1,},
el17sm 12:a1c1991835ca 237 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 238 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 239 {0,0,1,1,0,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,0,1,0,0,},
el17sm 12:a1c1991835ca 244 {0,0,0,1,0,0,},
el17sm 12:a1c1991835ca 245 {0,0,1,1,0,0,}
el17sm 12:a1c1991835ca 246 },
el17sm 12:a1c1991835ca 247 {
el17sm 12:a1c1991835ca 248 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 249 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 250 {1,2,1,1,1,1,},
el17sm 12:a1c1991835ca 251 {1,1,1,1,1,1,},
el17sm 12:a1c1991835ca 252 {0,1,1,1,1,0,},
el17sm 12:a1c1991835ca 253 {0,0,1,1,0,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,1,0,1,0,0,},
el17sm 12:a1c1991835ca 258 {0,1,0,0,1,0,},
el17sm 12:a1c1991835ca 259 {1,0,0,0,1,0,}
el17sm 12:a1c1991835ca 260 }
el17sm 12:a1c1991835ca 261 }
el17sm 12:a1c1991835ca 262 };
el17sm 12:a1c1991835ca 263
el17sm 10:1a3499f6b583 264 #endif