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 N5110 ShiftReg Joystick
Enemy.cpp@13:eaf070d5f599, 2021-04-25 (annotated)
- Committer:
- ozy
- Date:
- Sun Apr 25 15:04:06 2021 +0000
- Revision:
- 13:eaf070d5f599
- Parent:
- 12:b4477a312158
- Child:
- 14:7f23841685ad
Code before move_left update
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 | 12:b4477a312158 | 3 | #include <stdlib.h> |
ozy | 1:3bdadf6f6dbd | 4 | |
ozy | 1:3bdadf6f6dbd | 5 | Enemy::Enemy() {} |
ozy | 1:3bdadf6f6dbd | 6 | |
ozy | 5:889ad974b64d | 7 | int Enemy::get_x() { |
ozy | 5:889ad974b64d | 8 | return _x; |
ozy | 5:889ad974b64d | 9 | } |
ozy | 5:889ad974b64d | 10 | |
ozy | 5:889ad974b64d | 11 | int Enemy::get_y() { |
ozy | 5:889ad974b64d | 12 | return _y; |
ozy | 5:889ad974b64d | 13 | } |
ozy | 5:889ad974b64d | 14 | |
ozy | 5:889ad974b64d | 15 | void Enemy::set_x(int x) { |
ozy | 5:889ad974b64d | 16 | _x = x; |
ozy | 5:889ad974b64d | 17 | } |
ozy | 5:889ad974b64d | 18 | |
ozy | 5:889ad974b64d | 19 | void Enemy::set_y(int y) { |
ozy | 5:889ad974b64d | 20 | _y = y; |
ozy | 5:889ad974b64d | 21 | } |
ozy | 5:889ad974b64d | 22 | |
ozy | 5:889ad974b64d | 23 | void Enemy::add_x(int x) { |
ozy | 5:889ad974b64d | 24 | _x += x; |
ozy | 5:889ad974b64d | 25 | } |
ozy | 5:889ad974b64d | 26 | |
ozy | 5:889ad974b64d | 27 | void Enemy::add_y(int y) { |
ozy | 5:889ad974b64d | 28 | _y += y; |
ozy | 5:889ad974b64d | 29 | } |
ozy | 5:889ad974b64d | 30 | |
ozy | 13:eaf070d5f599 | 31 | void Enemy::init(int input) { |
ozy | 13:eaf070d5f599 | 32 | // function to initialize position of each enemy god |
ozy | 13:eaf070d5f599 | 33 | if (input == 1){ |
ozy | 13:eaf070d5f599 | 34 | set_x(50); |
ozy | 13:eaf070d5f599 | 35 | set_y(34); |
ozy | 13:eaf070d5f599 | 36 | } |
ozy | 13:eaf070d5f599 | 37 | else if (input == 2) { |
ozy | 13:eaf070d5f599 | 38 | set_x(10); |
ozy | 13:eaf070d5f599 | 39 | set_y(34); |
ozy | 13:eaf070d5f599 | 40 | } |
ozy | 13:eaf070d5f599 | 41 | else if (input == 3) { |
ozy | 13:eaf070d5f599 | 42 | set_x(55); |
ozy | 13:eaf070d5f599 | 43 | set_y(34); |
ozy | 13:eaf070d5f599 | 44 | } |
ozy | 13:eaf070d5f599 | 45 | else if (input == 4) { |
ozy | 13:eaf070d5f599 | 46 | set_x(15); |
ozy | 13:eaf070d5f599 | 47 | set_y(34); |
ozy | 13:eaf070d5f599 | 48 | } |
ozy | 13:eaf070d5f599 | 49 | else if (input == 5) { |
ozy | 13:eaf070d5f599 | 50 | set_x(56); |
ozy | 13:eaf070d5f599 | 51 | set_y(34); |
ozy | 13:eaf070d5f599 | 52 | } |
ozy | 13:eaf070d5f599 | 53 | |
ozy | 7:737fb0c3dbef | 54 | } |
ozy | 8:e2e2eb4ea0ca | 55 | void Enemy::draw(N5110 &lcd, int input) { |
ozy | 6:a1a7dc264fed | 56 | |
ozy | 8:e2e2eb4ea0ca | 57 | const int look_left[12][10] = { |
ozy | 8:e2e2eb4ea0ca | 58 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 59 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 60 | { 0,0,0,1,1,1,1,1,1,0 }, |
ozy | 8:e2e2eb4ea0ca | 61 | { 0,0,1,0,1,1,0,0,1,0 }, |
ozy | 8:e2e2eb4ea0ca | 62 | { 1,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 63 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 64 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 65 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 66 | { 0,1,1,0,0,0,1,1,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 67 | { 0,0,1,1,0,0,0,1,1,0 }, |
ozy | 8:e2e2eb4ea0ca | 68 | { 0,0,0,1,0,0,0,0,1,0 }, |
ozy | 8:e2e2eb4ea0ca | 69 | { 0,1,1,1,0,0,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 70 | }; |
ozy | 1:3bdadf6f6dbd | 71 | |
ozy | 8:e2e2eb4ea0ca | 72 | const int look_right[12][10] = { |
ozy | 8:e2e2eb4ea0ca | 73 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 74 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 75 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 76 | { 0,0,1,1,1,1,1,0,1,0 }, |
ozy | 8:e2e2eb4ea0ca | 77 | { 0,1,1,0,1,1,0,1,1,1 }, |
ozy | 8:e2e2eb4ea0ca | 78 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 8:e2e2eb4ea0ca | 79 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 80 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 81 | { 0,0,1,1,0,0,0,1,1,0 }, |
ozy | 8:e2e2eb4ea0ca | 82 | { 0,1,1,0,0,0,1,1,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 83 | { 0,1,0,0,0,1,1,0,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 84 | { 0,1,1,0,1,1,1,1,0,0 }, |
ozy | 8:e2e2eb4ea0ca | 85 | }; |
ozy | 8:e2e2eb4ea0ca | 86 | |
ozy | 8:e2e2eb4ea0ca | 87 | if (input == 1) { |
ozy | 8:e2e2eb4ea0ca | 88 | lcd.drawSprite(_x,_y,12,10,(int *)look_right); |
ozy | 8:e2e2eb4ea0ca | 89 | } |
ozy | 8:e2e2eb4ea0ca | 90 | else { |
ozy | 8:e2e2eb4ea0ca | 91 | lcd.drawSprite(_x,_y,12,10,(int *)look_left); |
ozy | 8:e2e2eb4ea0ca | 92 | } |
ozy | 13:eaf070d5f599 | 93 | |
ozy | 1:3bdadf6f6dbd | 94 | } |
ozy | 1:3bdadf6f6dbd | 95 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 96 | |
ozy | 1:3bdadf6f6dbd | 97 | |
ozy | 5:889ad974b64d | 98 | void Enemy::move_left(N5110 &lcd){ |
ozy | 1:3bdadf6f6dbd | 99 | const int run_left[12][10] = { |
ozy | 1:3bdadf6f6dbd | 100 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 101 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 102 | { 0,0,0,1,1,1,1,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 103 | { 0,0,1,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 104 | { 1,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 105 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 106 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 107 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 108 | { 0,1,1,0,0,0,1,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 109 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 110 | { 0,0,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 111 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 112 | }; |
ozy | 13:eaf070d5f599 | 113 | |
ozy | 13:eaf070d5f599 | 114 | const int run_left2[12][10] = { |
ozy | 1:3bdadf6f6dbd | 115 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 116 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 117 | { 0,0,0,1,1,1,1,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 118 | { 0,0,1,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 119 | { 1,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 120 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 121 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 122 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 123 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 124 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 125 | { 0,0,0,0,1,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 126 | { 0,0,0,1,0,0,0,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 127 | }; |
ozy | 13:eaf070d5f599 | 128 | // x position |
ozy | 13:eaf070d5f599 | 129 | add_x(-4); // move enemy to the left across lcd through increments |
ozy | 13:eaf070d5f599 | 130 | |
ozy | 13:eaf070d5f599 | 131 | // code to toggle between both move left animations (show some leg movement!) |
ozy | 13:eaf070d5f599 | 132 | int x = rand() % 5; |
ozy | 13:eaf070d5f599 | 133 | if (x == 0) { |
ozy | 13:eaf070d5f599 | 134 | // x = 1; |
ozy | 13:eaf070d5f599 | 135 | lcd.drawSprite(_x,_y,12,10,(int *)run_left); |
ozy | 13:eaf070d5f599 | 136 | } |
ozy | 13:eaf070d5f599 | 137 | else if(x == 1) { |
ozy | 13:eaf070d5f599 | 138 | // x = 0; |
ozy | 13:eaf070d5f599 | 139 | lcd.drawSprite(_x,_y,12,10,(int *)run_left2); |
ozy | 13:eaf070d5f599 | 140 | } |
ozy | 1:3bdadf6f6dbd | 141 | } |
ozy | 1:3bdadf6f6dbd | 142 | |
ozy | 13:eaf070d5f599 | 143 | |
ozy | 1:3bdadf6f6dbd | 144 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 145 | |
ozy | 5:889ad974b64d | 146 | void Enemy::move_right(N5110 &lcd) { |
ozy | 1:3bdadf6f6dbd | 147 | |
ozy | 1:3bdadf6f6dbd | 148 | const int run_right[12][10] = { |
ozy | 1:3bdadf6f6dbd | 149 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 150 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 151 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 152 | { 0,0,1,1,1,1,1,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 153 | { 0,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 154 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 155 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 156 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 157 | { 1,1,1,1,0,0,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 158 | { 0,0,0,0,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 159 | { 0,0,0,0,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 160 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 161 | }; |
ozy | 1:3bdadf6f6dbd | 162 | lcd.drawSprite(_x,_y,12,10,(int *)run_right); |
ozy | 1:3bdadf6f6dbd | 163 | } |
ozy | 1:3bdadf6f6dbd | 164 | |
ozy | 5:889ad974b64d | 165 | void Enemy::move_right2(N5110 &lcd) { |
ozy | 1:3bdadf6f6dbd | 166 | const int midrun_right[12][10] = { |
ozy | 1:3bdadf6f6dbd | 167 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 168 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 169 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 170 | { 0,0,1,1,1,1,1,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 171 | { 0,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 172 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 173 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 174 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 175 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 176 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 177 | { 0,0,0,1,0,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 178 | { 0,0,1,0,0,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 179 | }; |
ozy | 1:3bdadf6f6dbd | 180 | lcd.drawSprite(_x,_y,12,10,(int *)midrun_right); |
ozy | 1:3bdadf6f6dbd | 181 | } |
ozy | 1:3bdadf6f6dbd | 182 | |
ozy | 1:3bdadf6f6dbd | 183 | |
ozy | 5:889ad974b64d | 184 | void Enemy::sword_right(N5110 &lcd) { |
ozy | 1:3bdadf6f6dbd | 185 | const int swordsprite[12][10] = { |
ozy | 1:3bdadf6f6dbd | 186 | { 0,0,1,1,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 187 | { 1,0,1,1,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 188 | { 1,0,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 189 | { 1,1,0,1,1,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 190 | { 0,1,1,1,1,1,1,1,1,1 }, |
ozy | 6:a1a7dc264fed | 191 | { 0,0,0,1,1,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 192 | { 0,0,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 193 | { 0,0,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 194 | { 0,0,1,1,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 195 | { 0,1,1,0,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 196 | { 0,1,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 197 | { 1,1,0,0,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 198 | }; |
ozy | 1:3bdadf6f6dbd | 199 | lcd.drawSprite(_x,_y,12,10,(int *)swordsprite); |
ozy | 1:3bdadf6f6dbd | 200 | } |
ozy | 1:3bdadf6f6dbd | 201 | |
ozy | 1:3bdadf6f6dbd | 202 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 203 | |
ozy | 1:3bdadf6f6dbd | 204 | |
ozy | 5:889ad974b64d | 205 | void Enemy::sword_left(N5110 &lcd) { |
ozy | 1:3bdadf6f6dbd | 206 | const int swordsprite[12][10] = { |
ozy | 1:3bdadf6f6dbd | 207 | { 0,0,0,0,1,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 208 | { 0,0,0,0,1,1,1,1,0,1 }, |
ozy | 1:3bdadf6f6dbd | 209 | { 0,0,0,0,0,1,1,0,0,1 }, |
ozy | 1:3bdadf6f6dbd | 210 | { 0,0,0,1,0,1,1,0,1,1 }, |
ozy | 1:3bdadf6f6dbd | 211 | { 1,1,1,1,1,1,1,1,1,0 }, |
ozy | 6:a1a7dc264fed | 212 | { 0,0,0,1,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 213 | { 0,0,0,0,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 214 | { 0,0,0,0,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 215 | { 0,0,0,0,1,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 216 | { 0,0,0,1,1,0,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 217 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 218 | { 0,0,0,0,0,1,0,0,1,1 }, |
ozy | 1:3bdadf6f6dbd | 219 | }; |
ozy | 1:3bdadf6f6dbd | 220 | lcd.drawSprite(_x,_y,12,10,(int *)swordsprite); |
ozy | 1:3bdadf6f6dbd | 221 | } |
ozy | 1:3bdadf6f6dbd | 222 | |
ozy | 1:3bdadf6f6dbd | 223 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 224 | |
ozy | 1:3bdadf6f6dbd | 225 | |
ozy | 5:889ad974b64d | 226 | void Enemy::kick_right(N5110 &lcd) { |
ozy | 1:3bdadf6f6dbd | 227 | const int kick[12][10] = { |
ozy | 1:3bdadf6f6dbd | 228 | { 0,1,1,0,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 229 | { 0,1,1,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 230 | { 0,0,0,1,1,1,1,0,0,1 }, |
ozy | 1:3bdadf6f6dbd | 231 | { 0,0,1,1,1,0,0,0,1,1 }, |
ozy | 1:3bdadf6f6dbd | 232 | { 0,1,1,1,1,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 233 | { 0,1,0,0,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 234 | { 1,1,1,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 235 | { 0,1,0,0,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 236 | { 0,1,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 237 | { 0,0,0,1,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 238 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 239 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 240 | }; |
ozy | 1:3bdadf6f6dbd | 241 | lcd.drawSprite(_x,_y,12,10,(int *)kick); |
ozy | 1:3bdadf6f6dbd | 242 | } |
ozy | 1:3bdadf6f6dbd | 243 | |
ozy | 1:3bdadf6f6dbd | 244 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 245 | |
ozy | 1:3bdadf6f6dbd | 246 | |
ozy | 5:889ad974b64d | 247 | void Enemy::kick_left(N5110 &lcd) { |
ozy | 1:3bdadf6f6dbd | 248 | const int kick[12][10] = { |
ozy | 1:3bdadf6f6dbd | 249 | { 0,0,0,0,0,0,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 250 | { 0,0,0,0,1,1,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 251 | { 1,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 252 | { 1,1,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 253 | { 0,0,1,1,1,1,1,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 254 | { 0,0,0,1,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 255 | { 0,0,0,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 256 | { 0,0,0,0,0,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 257 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 258 | { 0,0,0,0,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 259 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 260 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 261 | }; |
ozy | 1:3bdadf6f6dbd | 262 | lcd.drawSprite(_x,_y,12,10,(int *)kick); |
ozy | 1:3bdadf6f6dbd | 263 | } |
ozy | 1:3bdadf6f6dbd | 264 | |
ozy | 1:3bdadf6f6dbd | 265 | // ************************************************************************ |
ozy | 12:b4477a312158 | 266 | |
ozy | 12:b4477a312158 | 267 | void Enemy::twoway_punch(N5110 &lcd){ |
ozy | 12:b4477a312158 | 268 | const int punchpunch[12][10] = { |
ozy | 12:b4477a312158 | 269 | { 0,0,0,0,0,0,0,0,0,0 }, |
ozy | 12:b4477a312158 | 270 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 12:b4477a312158 | 271 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 12:b4477a312158 | 272 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 12:b4477a312158 | 273 | { 1,1,1,1,1,1,1,1,1,1 }, |
ozy | 12:b4477a312158 | 274 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 12:b4477a312158 | 275 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 12:b4477a312158 | 276 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 12:b4477a312158 | 277 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 12:b4477a312158 | 278 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 12:b4477a312158 | 279 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 12:b4477a312158 | 280 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 12:b4477a312158 | 281 | }; |
ozy | 12:b4477a312158 | 282 | |
ozy | 12:b4477a312158 | 283 | lcd.drawSprite(_x,_y,12,10,(int *)punchpunch); |
ozy | 12:b4477a312158 | 284 | } |
ozy | 12:b4477a312158 | 285 | |
ozy | 12:b4477a312158 | 286 | void Enemy::randomize_moves(N5110 &lcd, int input) { |
ozy | 12:b4477a312158 | 287 | int move_number = rand()%12; |
ozy | 12:b4477a312158 | 288 | draw(lcd, input); |
ozy | 12:b4477a312158 | 289 | // enemy state: looking to the right (input is 1) |
ozy | 12:b4477a312158 | 290 | if(input == 1) { |
ozy | 12:b4477a312158 | 291 | if (move_number == 0) { |
ozy | 12:b4477a312158 | 292 | kick_right(lcd); |
ozy | 12:b4477a312158 | 293 | } |
ozy | 12:b4477a312158 | 294 | else if (move_number == 1) { |
ozy | 12:b4477a312158 | 295 | sword_right(lcd); |
ozy | 12:b4477a312158 | 296 | } |
ozy | 12:b4477a312158 | 297 | else if (move_number == 2){ |
ozy | 12:b4477a312158 | 298 | twoway_punch(lcd); |
ozy | 12:b4477a312158 | 299 | } |
ozy | 13:eaf070d5f599 | 300 | else{draw(lcd, input);} // else have the enemy standing still but looking at fighter |
ozy | 12:b4477a312158 | 301 | } |
ozy | 12:b4477a312158 | 302 | else if(input == 0) { // enemy state: looking to the left |
ozy | 12:b4477a312158 | 303 | if (move_number == 0) { |
ozy | 12:b4477a312158 | 304 | kick_left(lcd); |
ozy | 12:b4477a312158 | 305 | } |
ozy | 12:b4477a312158 | 306 | else if (move_number == 1) { |
ozy | 12:b4477a312158 | 307 | sword_left(lcd); |
ozy | 12:b4477a312158 | 308 | } |
ozy | 12:b4477a312158 | 309 | else if (move_number == 2){ |
ozy | 12:b4477a312158 | 310 | twoway_punch(lcd); |
ozy | 12:b4477a312158 | 311 | } |
ozy | 12:b4477a312158 | 312 | else{draw(lcd, input);} |
ozy | 12:b4477a312158 | 313 | } |
ozy | 12:b4477a312158 | 314 | } |
ozy | 12:b4477a312158 | 315 | |
ozy | 13:eaf070d5f599 | 316 | |
ozy | 13:eaf070d5f599 | 317 | |
ozy | 13:eaf070d5f599 | 318 |