Mortal Kombat Game ELEC2645
Dependencies: mbed N5110 ShiftReg Joystick
Enemy.cpp@1:3bdadf6f6dbd, 2021-04-17 (annotated)
- Committer:
- ozy
- Date:
- Sat Apr 17 11:38:39 2021 +0000
- Revision:
- 1:3bdadf6f6dbd
- Child:
- 5:889ad974b64d
Code Before adding interrupts
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 | 1:3bdadf6f6dbd | 6 | void Enemy::draw(N5110 &lcd, float _x, float _y) { |
ozy | 1:3bdadf6f6dbd | 7 | |
ozy | 1:3bdadf6f6dbd | 8 | const int standsprite[12][10] = { |
ozy | 1:3bdadf6f6dbd | 9 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 10 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 11 | { 0,0,1,1,1,1,1,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 12 | { 0,1,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 13 | { 0,1,0,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 14 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 15 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 16 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 17 | { 0,0,1,0,0,0,0,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 18 | { 0,1,1,0,0,0,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 19 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 20 | { 0,1,0,0,0,0,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 21 | }; |
ozy | 1:3bdadf6f6dbd | 22 | |
ozy | 1:3bdadf6f6dbd | 23 | lcd.drawSprite(_x,_y,12,10,(int *)standsprite); |
ozy | 1:3bdadf6f6dbd | 24 | } |
ozy | 1:3bdadf6f6dbd | 25 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 26 | |
ozy | 1:3bdadf6f6dbd | 27 | |
ozy | 1:3bdadf6f6dbd | 28 | void Enemy::move_left(N5110 &lcd, float _x, float _y){ |
ozy | 1:3bdadf6f6dbd | 29 | const int run_left[12][10] = { |
ozy | 1:3bdadf6f6dbd | 30 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 31 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 32 | { 0,0,0,1,1,1,1,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 33 | { 0,0,1,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 34 | { 1,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 35 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 36 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 37 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 38 | { 0,1,1,0,0,0,1,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 39 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 40 | { 0,0,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 41 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 42 | }; |
ozy | 1:3bdadf6f6dbd | 43 | lcd.drawSprite(_x,_y,12,10,(int *)run_left); |
ozy | 1:3bdadf6f6dbd | 44 | } |
ozy | 1:3bdadf6f6dbd | 45 | |
ozy | 1:3bdadf6f6dbd | 46 | void Enemy::move_left2(N5110 &lcd, float _x, float _y){ |
ozy | 1:3bdadf6f6dbd | 47 | const int run_left[12][10] = { |
ozy | 1:3bdadf6f6dbd | 48 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 49 | { 0,0,1,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 50 | { 0,0,0,1,1,1,1,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 51 | { 0,0,1,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 52 | { 1,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 53 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 54 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 55 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 56 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 57 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 58 | { 0,0,0,0,1,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 59 | { 0,0,0,1,0,0,0,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 60 | }; |
ozy | 1:3bdadf6f6dbd | 61 | lcd.drawSprite(_x,_y,12,10,(int *)run_left); |
ozy | 1:3bdadf6f6dbd | 62 | } |
ozy | 1:3bdadf6f6dbd | 63 | |
ozy | 1:3bdadf6f6dbd | 64 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 65 | |
ozy | 1:3bdadf6f6dbd | 66 | void Enemy::move_right(N5110 &lcd, float _x, float _y) { |
ozy | 1:3bdadf6f6dbd | 67 | |
ozy | 1:3bdadf6f6dbd | 68 | const int run_right[12][10] = { |
ozy | 1:3bdadf6f6dbd | 69 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 70 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 71 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 72 | { 0,0,1,1,1,1,1,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 73 | { 0,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 74 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 75 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 76 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 77 | { 1,1,1,1,0,0,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 78 | { 0,0,0,0,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 79 | { 0,0,0,0,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 80 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 81 | }; |
ozy | 1:3bdadf6f6dbd | 82 | lcd.drawSprite(_x,_y,12,10,(int *)run_right); |
ozy | 1:3bdadf6f6dbd | 83 | } |
ozy | 1:3bdadf6f6dbd | 84 | |
ozy | 1:3bdadf6f6dbd | 85 | void Enemy::move_right2(N5110 &lcd, float _x, float _y) { |
ozy | 1:3bdadf6f6dbd | 86 | const int midrun_right[12][10] = { |
ozy | 1:3bdadf6f6dbd | 87 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 88 | { 0,0,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 89 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 90 | { 0,0,1,1,1,1,1,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 91 | { 0,1,1,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 92 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 93 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 94 | { 0,0,1,1,0,0,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 95 | { 0,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 96 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 97 | { 0,0,0,1,0,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 98 | { 0,0,1,0,0,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 99 | }; |
ozy | 1:3bdadf6f6dbd | 100 | lcd.drawSprite(_x,_y,12,10,(int *)midrun_right); |
ozy | 1:3bdadf6f6dbd | 101 | } |
ozy | 1:3bdadf6f6dbd | 102 | |
ozy | 1:3bdadf6f6dbd | 103 | |
ozy | 1:3bdadf6f6dbd | 104 | void Enemy::sword_right(N5110 &lcd, float _x, float _y) { |
ozy | 1:3bdadf6f6dbd | 105 | const int swordsprite[12][10] = { |
ozy | 1:3bdadf6f6dbd | 106 | { 0,0,1,1,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 107 | { 1,0,1,1,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 108 | { 1,0,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 109 | { 1,1,0,1,1,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 110 | { 0,1,1,1,1,1,1,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 111 | { 0,0,0,1,1,0,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 112 | { 0,0,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 113 | { 0,0,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 114 | { 0,0,1,1,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 115 | { 0,1,1,0,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 116 | { 0,1,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 117 | { 1,1,0,0,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 118 | }; |
ozy | 1:3bdadf6f6dbd | 119 | lcd.drawSprite(_x,_y,12,10,(int *)swordsprite); |
ozy | 1:3bdadf6f6dbd | 120 | } |
ozy | 1:3bdadf6f6dbd | 121 | |
ozy | 1:3bdadf6f6dbd | 122 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 123 | |
ozy | 1:3bdadf6f6dbd | 124 | |
ozy | 1:3bdadf6f6dbd | 125 | void Enemy::sword_left(N5110 &lcd, float _x, float _y) { |
ozy | 1:3bdadf6f6dbd | 126 | const int swordsprite[12][10] = { |
ozy | 1:3bdadf6f6dbd | 127 | { 0,0,0,0,1,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 128 | { 0,0,0,0,1,1,1,1,0,1 }, |
ozy | 1:3bdadf6f6dbd | 129 | { 0,0,0,0,0,1,1,0,0,1 }, |
ozy | 1:3bdadf6f6dbd | 130 | { 0,0,0,1,0,1,1,0,1,1 }, |
ozy | 1:3bdadf6f6dbd | 131 | { 1,1,1,1,1,1,1,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 132 | { 0,0,0,1,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 133 | { 0,0,0,0,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 134 | { 0,0,0,0,0,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 135 | { 0,0,0,0,1,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 136 | { 0,0,0,1,1,0,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 137 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 138 | { 0,0,0,0,0,1,0,0,1,1 }, |
ozy | 1:3bdadf6f6dbd | 139 | }; |
ozy | 1:3bdadf6f6dbd | 140 | lcd.drawSprite(_x,_y,12,10,(int *)swordsprite); |
ozy | 1:3bdadf6f6dbd | 141 | } |
ozy | 1:3bdadf6f6dbd | 142 | |
ozy | 1:3bdadf6f6dbd | 143 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 144 | |
ozy | 1:3bdadf6f6dbd | 145 | |
ozy | 1:3bdadf6f6dbd | 146 | void Enemy::kick_right(N5110 &lcd, float _x, float _y) { |
ozy | 1:3bdadf6f6dbd | 147 | const int kick[12][10] = { |
ozy | 1:3bdadf6f6dbd | 148 | { 0,1,1,0,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 149 | { 0,1,1,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 150 | { 0,0,0,1,1,1,1,0,0,1 }, |
ozy | 1:3bdadf6f6dbd | 151 | { 0,0,1,1,1,0,0,0,1,1 }, |
ozy | 1:3bdadf6f6dbd | 152 | { 0,1,1,1,1,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 153 | { 0,1,0,0,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 154 | { 1,1,1,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 155 | { 0,1,0,0,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 156 | { 0,1,0,1,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 157 | { 0,0,0,1,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 158 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 159 | { 0,0,1,1,0,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 160 | }; |
ozy | 1:3bdadf6f6dbd | 161 | lcd.drawSprite(_x,_y,12,10,(int *)kick); |
ozy | 1:3bdadf6f6dbd | 162 | } |
ozy | 1:3bdadf6f6dbd | 163 | |
ozy | 1:3bdadf6f6dbd | 164 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 165 | |
ozy | 1:3bdadf6f6dbd | 166 | |
ozy | 1:3bdadf6f6dbd | 167 | void Enemy::kick_left(N5110 &lcd, float _x, float _y) { |
ozy | 1:3bdadf6f6dbd | 168 | const int kick[12][10] = { |
ozy | 1:3bdadf6f6dbd | 169 | { 0,0,0,0,0,0,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 170 | { 0,0,0,0,1,1,0,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 171 | { 1,0,0,1,1,1,1,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 172 | { 1,1,0,0,0,1,1,1,0,0 }, |
ozy | 1:3bdadf6f6dbd | 173 | { 0,0,1,1,1,1,1,1,1,0 }, |
ozy | 1:3bdadf6f6dbd | 174 | { 0,0,0,1,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 175 | { 0,0,0,0,1,1,0,1,1,1 }, |
ozy | 1:3bdadf6f6dbd | 176 | { 0,0,0,0,0,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 177 | { 0,0,0,0,1,1,0,0,1,0 }, |
ozy | 1:3bdadf6f6dbd | 178 | { 0,0,0,0,1,0,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 179 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 180 | { 0,0,0,0,1,1,0,0,0,0 }, |
ozy | 1:3bdadf6f6dbd | 181 | }; |
ozy | 1:3bdadf6f6dbd | 182 | lcd.drawSprite(_x,_y,12,10,(int *)kick); |
ozy | 1:3bdadf6f6dbd | 183 | } |
ozy | 1:3bdadf6f6dbd | 184 | |
ozy | 1:3bdadf6f6dbd | 185 | // ************************************************************************ |
ozy | 1:3bdadf6f6dbd | 186 | |
ozy | 1:3bdadf6f6dbd | 187 | |
ozy | 1:3bdadf6f6dbd | 188 |