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