Mortal Kombat Game ELEC2645
Dependencies: mbed N5110 ShiftReg Joystick
Fighter.cpp@3:1d99b6ad4f9e, 2021-04-19 (annotated)
- Committer:
- ozy
- Date:
- Mon Apr 19 18:38:59 2021 +0000
- Revision:
- 3:1d99b6ad4f9e
- Parent:
- 1:3bdadf6f6dbd
- Child:
- 6:a1a7dc264fed
Code after new fighter class
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ozy | 0:99b49fd71085 | 1 | #include "Fighter.h" |
ozy | 0:99b49fd71085 | 2 | #include "mbed.h" |
ozy | 0:99b49fd71085 | 3 | |
ozy | 0:99b49fd71085 | 4 | |
ozy | 0:99b49fd71085 | 5 | Fighter::Fighter() {} |
ozy | 0:99b49fd71085 | 6 | |
ozy | 3:1d99b6ad4f9e | 7 | int Fighter::get_x() { |
ozy | 3:1d99b6ad4f9e | 8 | return _x; |
ozy | 3:1d99b6ad4f9e | 9 | } |
ozy | 3:1d99b6ad4f9e | 10 | |
ozy | 3:1d99b6ad4f9e | 11 | int Fighter::get_y() { |
ozy | 3:1d99b6ad4f9e | 12 | return _y; |
ozy | 3:1d99b6ad4f9e | 13 | } |
ozy | 3:1d99b6ad4f9e | 14 | |
ozy | 3:1d99b6ad4f9e | 15 | void Fighter::set_x(int x) { |
ozy | 3:1d99b6ad4f9e | 16 | _x = x; |
ozy | 3:1d99b6ad4f9e | 17 | } |
ozy | 3:1d99b6ad4f9e | 18 | |
ozy | 3:1d99b6ad4f9e | 19 | void Fighter::set_y(int y) { |
ozy | 3:1d99b6ad4f9e | 20 | _y = y; |
ozy | 3:1d99b6ad4f9e | 21 | } |
ozy | 3:1d99b6ad4f9e | 22 | |
ozy | 3:1d99b6ad4f9e | 23 | void Fighter::add_x(int x) { |
ozy | 3:1d99b6ad4f9e | 24 | _x += x; |
ozy | 3:1d99b6ad4f9e | 25 | } |
ozy | 3:1d99b6ad4f9e | 26 | |
ozy | 3:1d99b6ad4f9e | 27 | void Fighter::add_y(int y) { |
ozy | 3:1d99b6ad4f9e | 28 | _y += y; |
ozy | 3:1d99b6ad4f9e | 29 | } |
ozy | 3:1d99b6ad4f9e | 30 | |
ozy | 3:1d99b6ad4f9e | 31 | void Fighter::draw(N5110 &lcd) { // drawing standing Fighter |
ozy | 0:99b49fd71085 | 32 | |
ozy | 0:99b49fd71085 | 33 | const int standsprite[12][10] = { |
ozy | 0:99b49fd71085 | 34 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 35 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 36 | { 0,0,1,1,1,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 37 | { 0,0,1,0,1,1,0,1,0,0 }, |
ozy | 0:99b49fd71085 | 38 | { 0,1,1,0,1,1,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 39 | { 0,1,0,0,1,1,0,0,1,0 }, |
ozy | 0:99b49fd71085 | 40 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 41 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 42 | { 0,0,1,0,0,0,0,1,0,0 }, |
ozy | 0:99b49fd71085 | 43 | { 0,1,1,0,0,0,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 44 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 0:99b49fd71085 | 45 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 0:99b49fd71085 | 46 | }; |
ozy | 0:99b49fd71085 | 47 | |
ozy | 0:99b49fd71085 | 48 | lcd.drawSprite(_x,_y,12,10,(int *)standsprite); |
ozy | 0:99b49fd71085 | 49 | } |
ozy | 0:99b49fd71085 | 50 | |
ozy | 0:99b49fd71085 | 51 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 52 | |
ozy | 3:1d99b6ad4f9e | 53 | void Fighter::move_left(N5110 &lcd){ |
ozy | 0:99b49fd71085 | 54 | const int run_left[12][10] = { |
ozy | 0:99b49fd71085 | 55 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 56 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 57 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 58 | { 0,0,1,0,1,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 59 | { 1,1,1,0,1,1,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 60 | { 0,0,0,0,1,1,0,0,0,1 }, |
ozy | 0:99b49fd71085 | 61 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 62 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 63 | { 0,1,1,0,0,0,1,1,1,1 }, |
ozy | 0:99b49fd71085 | 64 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 65 | { 0,0,0,1,1,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 66 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 67 | }; |
ozy | 0:99b49fd71085 | 68 | lcd.drawSprite(_x,_y,12,10,(int *)run_left); |
ozy | 0:99b49fd71085 | 69 | } |
ozy | 0:99b49fd71085 | 70 | |
ozy | 0:99b49fd71085 | 71 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 72 | |
ozy | 3:1d99b6ad4f9e | 73 | void Fighter::move_left2(N5110 &lcd){ |
ozy | 0:99b49fd71085 | 74 | const int midrun_left[12][10] = { |
ozy | 0:99b49fd71085 | 75 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 76 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 77 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 78 | { 0,0,1,0,1,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 79 | { 1,1,1,0,1,1,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 80 | { 0,0,0,0,1,1,0,0,0,1 }, |
ozy | 0:99b49fd71085 | 81 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 82 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 83 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 84 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 85 | { 0,0,0,0,1,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 86 | { 0,0,0,1,0,0,0,1,0,0 }, |
ozy | 0:99b49fd71085 | 87 | }; |
ozy | 0:99b49fd71085 | 88 | lcd.drawSprite(_x,_y,12,10,(int *)midrun_left); |
ozy | 0:99b49fd71085 | 89 | } |
ozy | 0:99b49fd71085 | 90 | |
ozy | 0:99b49fd71085 | 91 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 92 | |
ozy | 3:1d99b6ad4f9e | 93 | void Fighter::move_right(N5110 &lcd) { |
ozy | 0:99b49fd71085 | 94 | |
ozy | 0:99b49fd71085 | 95 | const int run_right[12][10] = { |
ozy | 0:99b49fd71085 | 96 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 97 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 98 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 99 | { 0,0,1,1,1,1,0,1,0,0 }, |
ozy | 0:99b49fd71085 | 100 | { 0,1,1,0,1,1,0,1,1,1 }, |
ozy | 0:99b49fd71085 | 101 | { 1,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 102 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 103 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 104 | { 1,1,1,1,0,0,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 105 | { 0,0,0,0,0,0,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 106 | { 0,0,0,0,0,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 107 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 108 | }; |
ozy | 0:99b49fd71085 | 109 | lcd.drawSprite(_x,_y,12,10,(int *)run_right); |
ozy | 0:99b49fd71085 | 110 | } |
ozy | 0:99b49fd71085 | 111 | |
ozy | 0:99b49fd71085 | 112 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 113 | |
ozy | 3:1d99b6ad4f9e | 114 | void Fighter::move_right2(N5110 &lcd) { |
ozy | 0:99b49fd71085 | 115 | const int midrun_right[12][10] = { |
ozy | 0:99b49fd71085 | 116 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 117 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 118 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 119 | { 0,0,1,1,1,1,0,1,0,0 }, |
ozy | 0:99b49fd71085 | 120 | { 0,1,1,0,1,1,0,1,1,1 }, |
ozy | 0:99b49fd71085 | 121 | { 1,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 122 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 123 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 124 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 125 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 126 | { 0,0,0,1,0,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 127 | { 0,0,1,0,0,0,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 128 | }; |
ozy | 1:3bdadf6f6dbd | 129 | |
ozy | 0:99b49fd71085 | 130 | lcd.drawSprite(_x,_y,12,10,(int *)midrun_right); |
ozy | 0:99b49fd71085 | 131 | } |
ozy | 0:99b49fd71085 | 132 | |
ozy | 0:99b49fd71085 | 133 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 134 | |
ozy | 3:1d99b6ad4f9e | 135 | void Fighter::kick_right(N5110 &lcd) { |
ozy | 0:99b49fd71085 | 136 | const int kick[12][10] = { |
ozy | 0:99b49fd71085 | 137 | { 0,1,1,0,0,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 138 | { 0,1,1,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 139 | { 0,0,0,1,1,1,1,0,0,1 }, |
ozy | 0:99b49fd71085 | 140 | { 0,0,1,1,1,0,0,0,1,1 }, |
ozy | 0:99b49fd71085 | 141 | { 0,1,1,1,1,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 142 | { 0,1,0,0,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 143 | { 1,1,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 144 | { 0,0,0,0,1,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 145 | { 0,0,0,1,1,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 146 | { 0,0,0,1,0,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 147 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 148 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 149 | }; |
ozy | 0:99b49fd71085 | 150 | lcd.drawSprite(_x,_y,12,10,(int *)kick); |
ozy | 0:99b49fd71085 | 151 | } |
ozy | 0:99b49fd71085 | 152 | |
ozy | 0:99b49fd71085 | 153 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 154 | |
ozy | 3:1d99b6ad4f9e | 155 | void Fighter::kick_left(N5110 &lcd) { |
ozy | 0:99b49fd71085 | 156 | const int kick[12][10] = { |
ozy | 0:99b49fd71085 | 157 | { 0,0,0,0,0,0,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 158 | { 0,0,0,0,1,1,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 159 | { 1,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 160 | { 1,1,0,0,0,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 161 | { 0,0,1,1,1,1,1,1,1,0 }, |
ozy | 0:99b49fd71085 | 162 | { 0,0,0,1,1,1,0,0,1,0 }, |
ozy | 0:99b49fd71085 | 163 | { 0,0,0,0,1,1,0,0,1,1 }, |
ozy | 0:99b49fd71085 | 164 | { 0,0,0,0,0,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 165 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 166 | { 0,0,0,0,1,0,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 167 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 168 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 169 | }; |
ozy | 0:99b49fd71085 | 170 | lcd.drawSprite(_x,_y,12,10,(int *)kick); |
ozy | 0:99b49fd71085 | 171 | } |
ozy | 0:99b49fd71085 | 172 | |
ozy | 0:99b49fd71085 | 173 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 174 | |
ozy | 3:1d99b6ad4f9e | 175 | void Fighter::punch_right(N5110 &lcd) { |
ozy | 0:99b49fd71085 | 176 | const int punch[12][10] = { |
ozy | 0:99b49fd71085 | 177 | { 0,0,0,0,1,1,0,0,0,1 }, |
ozy | 0:99b49fd71085 | 178 | { 0,0,0,0,1,1,0,0,1,1 }, |
ozy | 0:99b49fd71085 | 179 | { 0,0,1,1,1,1,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 180 | { 0,1,0,0,1,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 181 | { 0,1,1,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 182 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 183 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 184 | { 0,0,0,1,0,0,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 185 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 186 | { 0,0,1,0,0,0,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 187 | { 0,1,1,0,0,0,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 188 | { 1,1,0,0,0,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 189 | }; |
ozy | 0:99b49fd71085 | 190 | lcd.drawSprite(_x,_y,12,10,(int *)punch); |
ozy | 0:99b49fd71085 | 191 | } |
ozy | 0:99b49fd71085 | 192 | |
ozy | 0:99b49fd71085 | 193 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 194 | |
ozy | 3:1d99b6ad4f9e | 195 | void Fighter::punch_left(N5110 &lcd) { |
ozy | 0:99b49fd71085 | 196 | const int punch[12][10] = { |
ozy | 0:99b49fd71085 | 197 | { 1,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 198 | { 1,1,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 199 | { 0,1,1,0,1,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 200 | { 0,0,1,1,1,1,0,0,1,0 }, |
ozy | 0:99b49fd71085 | 201 | { 0,0,0,0,1,1,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 202 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 203 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 204 | { 0,0,1,1,0,0,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 205 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 206 | { 0,0,0,1,0,0,0,1,0,0 }, |
ozy | 0:99b49fd71085 | 207 | { 0,0,0,1,0,0,0,1,1,0 }, |
ozy | 0:99b49fd71085 | 208 | { 0,0,0,1,1,0,0,0,1,1 }, |
ozy | 0:99b49fd71085 | 209 | }; |
ozy | 0:99b49fd71085 | 210 | lcd.drawSprite(_x,_y,12,10,(int *)punch); |
ozy | 0:99b49fd71085 | 211 | } |
ozy | 0:99b49fd71085 | 212 | |
ozy | 0:99b49fd71085 | 213 | // ************************************************************************ |
ozy | 0:99b49fd71085 | 214 | |
ozy | 3:1d99b6ad4f9e | 215 | void Fighter::guard(N5110 &lcd) { |
ozy | 0:99b49fd71085 | 216 | const int guard[12][10] = { |
ozy | 0:99b49fd71085 | 217 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 218 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 219 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 220 | { 0,0,1,0,1,1,0,1,0,0 }, |
ozy | 0:99b49fd71085 | 221 | { 0,0,1,0,1,1,0,1,0,0 }, |
ozy | 0:99b49fd71085 | 222 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 223 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 0:99b49fd71085 | 224 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 0:99b49fd71085 | 225 | { 0,0,1,1,1,1,1,1,0,0 }, |
ozy | 0:99b49fd71085 | 226 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 0:99b49fd71085 | 227 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 0:99b49fd71085 | 228 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 0:99b49fd71085 | 229 | }; |
ozy | 0:99b49fd71085 | 230 | lcd.drawSprite(_x,_y,12,10,(int *)guard); |
ozy | 0:99b49fd71085 | 231 | } |
ozy | 0:99b49fd71085 | 232 | |
ozy | 0:99b49fd71085 | 233 | |
ozy | 0:99b49fd71085 | 234 | |
ozy | 0:99b49fd71085 | 235 | |
ozy | 0:99b49fd71085 | 236 | |
ozy | 0:99b49fd71085 | 237 |