Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed MotionSensor
Entity/Mobs/Headless/Headless.h@33:4f3948dcd2f7, 2019-05-06 (annotated)
- 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?
| User | Revision | Line number | New 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 |