Steven Mahasin / Mbed 2 deprecated DreamDungeon

Dependencies:   mbed MotionSensor

Committer:
el17sm
Date:
Mon May 06 13:27:26 2019 +0000
Revision:
33:4f3948dcd2f7
Parent:
32:fe6359ef9916
Child:
34:1d5b4da3935e
Saved space using char to print screen instead of int (reduction by 4x)

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 32:fe6359ef9916 13 virtual void move(float player_x, float player_y, int * 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 32:fe6359ef9916 18 // Private Functions
el17sm 33:4f3948dcd2f7 19 char * get_frame();
el17sm 32:fe6359ef9916 20 };
el17sm 32:fe6359ef9916 21
el17sm 33:4f3948dcd2f7 22 const char sprite_headless[4][4][9][6] = { // Player [Face][SpriteAnimationFrame][Size_Y][Size_X]
el17sm 32:fe6359ef9916 23 {
el17sm 32:fe6359ef9916 24 // Up
el17sm 32:fe6359ef9916 25 {
el17sm 32:fe6359ef9916 26 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 27 {1,0,0,0,0,0,},
el17sm 32:fe6359ef9916 28 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 29 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 30 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 31 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 32 {0,1,0,0,1,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 },
el17sm 32:fe6359ef9916 36 {
el17sm 32:fe6359ef9916 37 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 38 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 39 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 40 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 41 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 42 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 43 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 44 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 45 {0,0,0,0,1,0,}
el17sm 32:fe6359ef9916 46 },
el17sm 32:fe6359ef9916 47 {
el17sm 32:fe6359ef9916 48 {0,0,0,0,1,0,},
el17sm 32:fe6359ef9916 49 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 50 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 51 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 52 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 53 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 54 {0,1,0,0,1,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 },
el17sm 32:fe6359ef9916 58 {
el17sm 32:fe6359ef9916 59 {0,1,0,0,0,0,},
el17sm 32:fe6359ef9916 60 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 61 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 62 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 63 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 64 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 65 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 66 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 67 {0,1,0,0,0,0,}
el17sm 32:fe6359ef9916 68 }
el17sm 32:fe6359ef9916 69 },
el17sm 32:fe6359ef9916 70 {
el17sm 32:fe6359ef9916 71 // Right
el17sm 32:fe6359ef9916 72 {
el17sm 32:fe6359ef9916 73 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 74 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 75 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 76 {0,0,1,1,1,1,},
el17sm 32:fe6359ef9916 77 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 78 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 79 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 80 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 81 {0,0,1,1,0,0,}
el17sm 32:fe6359ef9916 82 },
el17sm 32:fe6359ef9916 83 {
el17sm 32:fe6359ef9916 84 {0,1,0,0,0,0,},
el17sm 32:fe6359ef9916 85 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 86 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 87 {0,0,1,1,1,1,},
el17sm 32:fe6359ef9916 88 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 89 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 90 {0,0,1,0,1,0,},
el17sm 32:fe6359ef9916 91 {0,0,1,0,1,0,},
el17sm 32:fe6359ef9916 92 {0,1,0,0,0,1,}
el17sm 32:fe6359ef9916 93 },
el17sm 32:fe6359ef9916 94 {
el17sm 32:fe6359ef9916 95 {0,0,0,0,1,0,},
el17sm 32:fe6359ef9916 96 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 97 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 98 {0,0,1,1,1,1,},
el17sm 32:fe6359ef9916 99 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 100 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 101 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 102 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 103 {0,0,1,1,0,0,}
el17sm 32:fe6359ef9916 104 },
el17sm 32:fe6359ef9916 105 {
el17sm 32:fe6359ef9916 106 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 107 {0,0,0,0,0,1,},
el17sm 32:fe6359ef9916 108 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 109 {0,0,1,1,1,1,},
el17sm 32:fe6359ef9916 110 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 111 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 112 {0,0,1,0,1,0,},
el17sm 32:fe6359ef9916 113 {0,0,1,0,1,0,},
el17sm 32:fe6359ef9916 114 {0,1,0,0,0,1,}
el17sm 32:fe6359ef9916 115 }
el17sm 32:fe6359ef9916 116 },
el17sm 32:fe6359ef9916 117 {
el17sm 32:fe6359ef9916 118 // Down
el17sm 32:fe6359ef9916 119 {
el17sm 32:fe6359ef9916 120 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 121 {1,0,0,0,0,0,},
el17sm 32:fe6359ef9916 122 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 123 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 124 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 125 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 126 {0,1,0,0,1,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 },
el17sm 32:fe6359ef9916 130 {
el17sm 32:fe6359ef9916 131 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 132 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 133 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 134 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 135 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 136 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 137 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 138 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 139 {0,0,0,0,1,0,}
el17sm 32:fe6359ef9916 140 },
el17sm 32:fe6359ef9916 141 {
el17sm 32:fe6359ef9916 142 {0,0,0,0,1,0,},
el17sm 32:fe6359ef9916 143 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 144 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 145 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 146 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 147 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 148 {0,1,0,0,1,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 },
el17sm 32:fe6359ef9916 152 {
el17sm 32:fe6359ef9916 153 {0,1,0,0,0,0,},
el17sm 32:fe6359ef9916 154 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 155 {0,1,1,1,1,0,},
el17sm 32:fe6359ef9916 156 {1,0,1,1,0,1,},
el17sm 32:fe6359ef9916 157 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 158 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 159 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 160 {0,1,0,0,1,0,},
el17sm 32:fe6359ef9916 161 {0,1,0,0,0,0,}
el17sm 32:fe6359ef9916 162 }
el17sm 32:fe6359ef9916 163 },
el17sm 32:fe6359ef9916 164 {
el17sm 32:fe6359ef9916 165 // Left
el17sm 32:fe6359ef9916 166 {
el17sm 32:fe6359ef9916 167 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 168 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 169 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 170 {1,1,1,1,0,0,},
el17sm 32:fe6359ef9916 171 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 172 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 173 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 174 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 175 {0,0,1,1,0,0,}
el17sm 32:fe6359ef9916 176 },
el17sm 32:fe6359ef9916 177 {
el17sm 32:fe6359ef9916 178 {0,0,0,0,1,0,},
el17sm 32:fe6359ef9916 179 {0,0,1,0,0,0,},
el17sm 32:fe6359ef9916 180 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 181 {1,1,1,1,0,0,},
el17sm 32:fe6359ef9916 182 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 183 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 184 {0,1,0,1,0,0,},
el17sm 32:fe6359ef9916 185 {0,1,0,1,0,0,},
el17sm 32:fe6359ef9916 186 {1,0,0,0,1,0,}
el17sm 32:fe6359ef9916 187 },
el17sm 32:fe6359ef9916 188 {
el17sm 32:fe6359ef9916 189 {0,1,0,0,0,0,},
el17sm 32:fe6359ef9916 190 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 191 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 192 {1,1,1,1,0,0,},
el17sm 32:fe6359ef9916 193 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 194 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 195 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 196 {0,0,0,1,0,0,},
el17sm 32:fe6359ef9916 197 {0,0,1,1,0,0,}
el17sm 32:fe6359ef9916 198 },
el17sm 32:fe6359ef9916 199 {
el17sm 32:fe6359ef9916 200 {0,0,0,0,0,0,},
el17sm 32:fe6359ef9916 201 {1,0,0,0,0,0,},
el17sm 32:fe6359ef9916 202 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 203 {1,1,1,1,0,0,},
el17sm 32:fe6359ef9916 204 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 205 {0,0,1,1,0,0,},
el17sm 32:fe6359ef9916 206 {0,1,0,1,0,0,},
el17sm 32:fe6359ef9916 207 {0,1,0,1,0,0,},
el17sm 32:fe6359ef9916 208 {1,0,0,0,1,0,}
el17sm 32:fe6359ef9916 209 }
el17sm 32:fe6359ef9916 210 }
el17sm 32:fe6359ef9916 211 };
el17sm 32:fe6359ef9916 212
el17sm 32:fe6359ef9916 213 #endif