Steven Mahasin / Mbed 2 deprecated DreamDungeon

Dependencies:   mbed MotionSensor

Committer:
el17sm
Date:
Thu May 09 08:42:52 2019 +0000
Revision:
56:ef9521b7ed78
Parent:
34:1d5b4da3935e
Child:
58:c8d90bb7404a
Full code in-line commented

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17sm 32:fe6359ef9916 1 #ifndef HEADLESS_H
el17sm 32:fe6359ef9916 2 #define HEADLESS_H
el17sm 32:fe6359ef9916 3 #include "Entity.h"
el17sm 32:fe6359ef9916 4
el17sm 32:fe6359ef9916 5 class Headless : public Entity
el17sm 32:fe6359ef9916 6 {
el17sm 32:fe6359ef9916 7
el17sm 32:fe6359ef9916 8 public:
el17sm 32:fe6359ef9916 9 // Constructor
el17sm 32:fe6359ef9916 10 Headless(float, float);
el17sm 32:fe6359ef9916 11
el17sm 32:fe6359ef9916 12 // Functions
el17sm 34:1d5b4da3935e 13 virtual void move(float player_x, float player_y, char * map, bool * doorways);
el17sm 32:fe6359ef9916 14 virtual void draw(N5110 &lcd);
el17sm 32:fe6359ef9916 15 virtual void take_damage(int damage);
el17sm 32:fe6359ef9916 16
el17sm 32:fe6359ef9916 17 private:
el17sm 56:ef9521b7ed78 18 // Methods
el17sm 33:4f3948dcd2f7 19 char * get_frame();
el17sm 56:ef9521b7ed78 20 void increment_frame();
el17sm 32:fe6359ef9916 21 };
el17sm 32:fe6359ef9916 22
el17sm 33:4f3948dcd2f7 23 const char sprite_headless[4][4][9][6] = { // Player [Face][SpriteAnimationFrame][Size_Y][Size_X]
el17sm 32:fe6359ef9916 24 {
el17sm 32:fe6359ef9916 25 // Up
el17sm 32:fe6359ef9916 26 {
el17sm 32:fe6359ef9916 27 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 28 {1,0,0,0,0,0,},
el17sm 32:fe6359ef9916 29 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 30 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 31 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 32 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 33 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 34 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 35 {0,1,0,0,1,0,}
el17sm 32:fe6359ef9916 36 },
el17sm 32:fe6359ef9916 37 {
el17sm 32:fe6359ef9916 38 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 39 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 40 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 41 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 42 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 43 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 44 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 45 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 46 {0,0,0,0,1,0,}
el17sm 32:fe6359ef9916 47 },
el17sm 32:fe6359ef9916 48 {
el17sm 32:fe6359ef9916 49 {0,0,0,0,1,0,},
el17sm 32:fe6359ef9916 50 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 51 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 52 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 53 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 54 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 55 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 56 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 57 {0,1,0,0,1,0,}
el17sm 32:fe6359ef9916 58 },
el17sm 32:fe6359ef9916 59 {
el17sm 32:fe6359ef9916 60 {0,1,0,0,0,0,},
el17sm 32:fe6359ef9916 61 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 62 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 63 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 64 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 65 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 66 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 67 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 68 {0,1,0,0,0,0,}
el17sm 32:fe6359ef9916 69 }
el17sm 32:fe6359ef9916 70 },
el17sm 32:fe6359ef9916 71 {
el17sm 32:fe6359ef9916 72 // Right
el17sm 32:fe6359ef9916 73 {
el17sm 32:fe6359ef9916 74 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 75 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 76 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 77 {0,0,1,1,1,1,},
el17sm 32:fe6359ef9916 78 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 79 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 80 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 81 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 82 {0,0,1,1,0,0,}
el17sm 32:fe6359ef9916 83 },
el17sm 32:fe6359ef9916 84 {
el17sm 32:fe6359ef9916 85 {0,1,0,0,0,0,},
el17sm 32:fe6359ef9916 86 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 87 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 88 {0,0,1,1,1,1,},
el17sm 32:fe6359ef9916 89 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 90 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 91 {0,0,1,0,1,0,},
el17sm 32:fe6359ef9916 92 {0,0,1,0,1,0,},
el17sm 32:fe6359ef9916 93 {0,1,0,0,0,1,}
el17sm 32:fe6359ef9916 94 },
el17sm 32:fe6359ef9916 95 {
el17sm 32:fe6359ef9916 96 {0,0,0,0,1,0,},
el17sm 32:fe6359ef9916 97 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 98 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 99 {0,0,1,1,1,1,},
el17sm 32:fe6359ef9916 100 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 101 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 102 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 103 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 104 {0,0,1,1,0,0,}
el17sm 32:fe6359ef9916 105 },
el17sm 32:fe6359ef9916 106 {
el17sm 32:fe6359ef9916 107 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 108 {0,0,0,0,0,1,},
el17sm 32:fe6359ef9916 109 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 110 {0,0,1,1,1,1,},
el17sm 32:fe6359ef9916 111 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 112 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 113 {0,0,1,0,1,0,},
el17sm 32:fe6359ef9916 114 {0,0,1,0,1,0,},
el17sm 32:fe6359ef9916 115 {0,1,0,0,0,1,}
el17sm 32:fe6359ef9916 116 }
el17sm 32:fe6359ef9916 117 },
el17sm 32:fe6359ef9916 118 {
el17sm 32:fe6359ef9916 119 // Down
el17sm 32:fe6359ef9916 120 {
el17sm 32:fe6359ef9916 121 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 122 {1,0,0,0,0,0,},
el17sm 32:fe6359ef9916 123 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 124 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 125 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 126 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 127 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 128 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 129 {0,1,0,0,1,0,}
el17sm 32:fe6359ef9916 130 },
el17sm 32:fe6359ef9916 131 {
el17sm 32:fe6359ef9916 132 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 133 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 134 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 135 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 136 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 137 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 138 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 139 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 140 {0,0,0,0,1,0,}
el17sm 32:fe6359ef9916 141 },
el17sm 32:fe6359ef9916 142 {
el17sm 32:fe6359ef9916 143 {0,0,0,0,1,0,},
el17sm 32:fe6359ef9916 144 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 145 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 146 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 147 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 148 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 149 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 150 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 151 {0,1,0,0,1,0,}
el17sm 32:fe6359ef9916 152 },
el17sm 32:fe6359ef9916 153 {
el17sm 32:fe6359ef9916 154 {0,1,0,0,0,0,},
el17sm 32:fe6359ef9916 155 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 156 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 157 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 158 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 159 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 160 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 161 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 162 {0,1,0,0,0,0,}
el17sm 32:fe6359ef9916 163 }
el17sm 32:fe6359ef9916 164 },
el17sm 32:fe6359ef9916 165 {
el17sm 32:fe6359ef9916 166 // Left
el17sm 32:fe6359ef9916 167 {
el17sm 32:fe6359ef9916 168 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 169 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 170 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 171 {1,1,1,1,0,0,},
el17sm 32:fe6359ef9916 172 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 173 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 174 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 175 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 176 {0,0,1,1,0,0,}
el17sm 32:fe6359ef9916 177 },
el17sm 32:fe6359ef9916 178 {
el17sm 32:fe6359ef9916 179 {0,0,0,0,1,0,},
el17sm 32:fe6359ef9916 180 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 181 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 182 {1,1,1,1,0,0,},
el17sm 32:fe6359ef9916 183 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 184 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 185 {0,1,0,1,0,0,},
el17sm 32:fe6359ef9916 186 {0,1,0,1,0,0,},
el17sm 32:fe6359ef9916 187 {1,0,0,0,1,0,}
el17sm 32:fe6359ef9916 188 },
el17sm 32:fe6359ef9916 189 {
el17sm 32:fe6359ef9916 190 {0,1,0,0,0,0,},
el17sm 32:fe6359ef9916 191 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 192 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 193 {1,1,1,1,0,0,},
el17sm 32:fe6359ef9916 194 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 195 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 196 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 197 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 198 {0,0,1,1,0,0,}
el17sm 32:fe6359ef9916 199 },
el17sm 32:fe6359ef9916 200 {
el17sm 32:fe6359ef9916 201 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 202 {1,0,0,0,0,0,},
el17sm 32:fe6359ef9916 203 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 204 {1,1,1,1,0,0,},
el17sm 32:fe6359ef9916 205 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 206 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 207 {0,1,0,1,0,0,},
el17sm 32:fe6359ef9916 208 {0,1,0,1,0,0,},
el17sm 32:fe6359ef9916 209 {1,0,0,0,1,0,}
el17sm 32:fe6359ef9916 210 }
el17sm 32:fe6359ef9916 211 }
el17sm 32:fe6359ef9916 212 };
el17sm 32:fe6359ef9916 213
el17sm 32:fe6359ef9916 214 #endif