Mortal Kombat Game ELEC2645

Dependencies:   mbed N5110 ShiftReg Joystick

Committer:
ozy
Date:
Thu Apr 22 01:24:12 2021 +0000
Revision:
7:737fb0c3dbef
Parent:
6:a1a7dc264fed
Child:
8:e2e2eb4ea0ca
Code with Refresh problem

Who changed what in which revision?

UserRevisionLine numberNew 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 7:737fb0c3dbef 30 void Enemy::init(N5110 &lcd) {
ozy 7:737fb0c3dbef 31 set_x(30);
ozy 7:737fb0c3dbef 32 set_y(34);
ozy 7:737fb0c3dbef 33 draw(lcd);
ozy 7:737fb0c3dbef 34 lcd.refresh();
ozy 7:737fb0c3dbef 35 }
ozy 5:889ad974b64d 36 void Enemy::draw(N5110 &lcd) {
ozy 6:a1a7dc264fed 37
ozy 1:3bdadf6f6dbd 38 const int standsprite[12][10] = {
ozy 1:3bdadf6f6dbd 39 { 0,0,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 40 { 0,0,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 41 { 0,0,1,1,1,1,1,1,1,0 },
ozy 1:3bdadf6f6dbd 42 { 0,1,0,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 43 { 0,1,0,0,1,1,0,1,1,1 },
ozy 1:3bdadf6f6dbd 44 { 0,0,0,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 45 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 46 { 0,0,1,1,0,0,1,1,0,0 },
ozy 1:3bdadf6f6dbd 47 { 0,0,1,0,0,0,0,1,0,0 },
ozy 1:3bdadf6f6dbd 48 { 0,1,1,0,0,0,0,1,1,0 },
ozy 1:3bdadf6f6dbd 49 { 0,1,0,0,0,0,0,0,1,0 },
ozy 1:3bdadf6f6dbd 50 { 0,1,0,0,0,0,0,0,1,0 },
ozy 1:3bdadf6f6dbd 51 };
ozy 1:3bdadf6f6dbd 52
ozy 1:3bdadf6f6dbd 53 lcd.drawSprite(_x,_y,12,10,(int *)standsprite);
ozy 1:3bdadf6f6dbd 54 }
ozy 1:3bdadf6f6dbd 55 // ************************************************************************
ozy 1:3bdadf6f6dbd 56
ozy 1:3bdadf6f6dbd 57
ozy 5:889ad974b64d 58 void Enemy::move_left(N5110 &lcd){
ozy 1:3bdadf6f6dbd 59 const int run_left[12][10] = {
ozy 1:3bdadf6f6dbd 60 { 0,0,1,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 61 { 0,0,1,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 62 { 0,0,0,1,1,1,1,1,1,0 },
ozy 1:3bdadf6f6dbd 63 { 0,0,1,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 64 { 1,1,1,0,1,1,0,1,1,1 },
ozy 1:3bdadf6f6dbd 65 { 0,0,0,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 66 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 67 { 0,0,1,1,0,0,1,1,0,0 },
ozy 1:3bdadf6f6dbd 68 { 0,1,1,0,0,0,1,1,1,1 },
ozy 1:3bdadf6f6dbd 69 { 0,0,1,1,0,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 70 { 0,0,0,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 71 { 0,0,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 72 };
ozy 1:3bdadf6f6dbd 73 lcd.drawSprite(_x,_y,12,10,(int *)run_left);
ozy 1:3bdadf6f6dbd 74 }
ozy 1:3bdadf6f6dbd 75
ozy 5:889ad974b64d 76 void Enemy::move_left2(N5110 &lcd){
ozy 1:3bdadf6f6dbd 77 const int run_left[12][10] = {
ozy 1:3bdadf6f6dbd 78 { 0,0,1,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 79 { 0,0,1,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 80 { 0,0,0,1,1,1,1,1,1,0 },
ozy 1:3bdadf6f6dbd 81 { 0,0,1,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 82 { 1,1,1,0,1,1,0,1,1,1 },
ozy 1:3bdadf6f6dbd 83 { 0,0,0,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 84 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 85 { 0,0,1,1,0,0,1,1,0,0 },
ozy 1:3bdadf6f6dbd 86 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 87 { 0,0,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 88 { 0,0,0,0,1,0,1,0,0,0 },
ozy 1:3bdadf6f6dbd 89 { 0,0,0,1,0,0,0,1,0,0 },
ozy 1:3bdadf6f6dbd 90 };
ozy 1:3bdadf6f6dbd 91 lcd.drawSprite(_x,_y,12,10,(int *)run_left);
ozy 1:3bdadf6f6dbd 92 }
ozy 1:3bdadf6f6dbd 93
ozy 1:3bdadf6f6dbd 94 // ************************************************************************
ozy 1:3bdadf6f6dbd 95
ozy 5:889ad974b64d 96 void Enemy::move_right(N5110 &lcd) {
ozy 1:3bdadf6f6dbd 97
ozy 1:3bdadf6f6dbd 98 const int run_right[12][10] = {
ozy 1:3bdadf6f6dbd 99 { 0,0,0,0,0,1,1,1,0,0 },
ozy 1:3bdadf6f6dbd 100 { 0,0,0,0,0,1,1,1,0,0 },
ozy 1:3bdadf6f6dbd 101 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 102 { 0,0,1,1,1,1,1,0,1,0 },
ozy 1:3bdadf6f6dbd 103 { 0,1,1,0,1,1,0,1,1,1 },
ozy 1:3bdadf6f6dbd 104 { 0,0,0,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 105 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 106 { 0,0,1,1,0,0,1,1,0,0 },
ozy 1:3bdadf6f6dbd 107 { 1,1,1,1,0,0,0,1,1,0 },
ozy 1:3bdadf6f6dbd 108 { 0,0,0,0,0,0,1,1,0,0 },
ozy 1:3bdadf6f6dbd 109 { 0,0,0,0,0,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 110 { 0,0,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 111 };
ozy 1:3bdadf6f6dbd 112 lcd.drawSprite(_x,_y,12,10,(int *)run_right);
ozy 1:3bdadf6f6dbd 113 }
ozy 1:3bdadf6f6dbd 114
ozy 5:889ad974b64d 115 void Enemy::move_right2(N5110 &lcd) {
ozy 1:3bdadf6f6dbd 116 const int midrun_right[12][10] = {
ozy 1:3bdadf6f6dbd 117 { 0,0,0,0,0,1,1,1,0,0 },
ozy 1:3bdadf6f6dbd 118 { 0,0,0,0,0,1,1,1,0,0 },
ozy 1:3bdadf6f6dbd 119 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 120 { 0,0,1,1,1,1,1,0,1,0 },
ozy 1:3bdadf6f6dbd 121 { 0,1,1,0,1,1,0,1,1,1 },
ozy 1:3bdadf6f6dbd 122 { 0,0,0,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 123 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 124 { 0,0,1,1,0,0,1,1,0,0 },
ozy 1:3bdadf6f6dbd 125 { 0,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 126 { 0,0,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 127 { 0,0,0,1,0,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 128 { 0,0,1,0,0,0,1,0,0,0 },
ozy 1:3bdadf6f6dbd 129 };
ozy 1:3bdadf6f6dbd 130 lcd.drawSprite(_x,_y,12,10,(int *)midrun_right);
ozy 1:3bdadf6f6dbd 131 }
ozy 1:3bdadf6f6dbd 132
ozy 1:3bdadf6f6dbd 133
ozy 5:889ad974b64d 134 void Enemy::sword_right(N5110 &lcd) {
ozy 1:3bdadf6f6dbd 135 const int swordsprite[12][10] = {
ozy 1:3bdadf6f6dbd 136 { 0,0,1,1,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 137 { 1,0,1,1,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 138 { 1,0,0,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 139 { 1,1,0,1,1,0,1,0,0,0 },
ozy 1:3bdadf6f6dbd 140 { 0,1,1,1,1,1,1,1,1,1 },
ozy 6:a1a7dc264fed 141 { 0,0,0,1,1,0,1,0,0,0 },
ozy 1:3bdadf6f6dbd 142 { 0,0,0,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 143 { 0,0,0,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 144 { 0,0,1,1,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 145 { 0,1,1,0,0,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 146 { 0,1,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 147 { 1,1,0,0,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 148 };
ozy 1:3bdadf6f6dbd 149 lcd.drawSprite(_x,_y,12,10,(int *)swordsprite);
ozy 1:3bdadf6f6dbd 150 }
ozy 1:3bdadf6f6dbd 151
ozy 1:3bdadf6f6dbd 152 // ************************************************************************
ozy 1:3bdadf6f6dbd 153
ozy 1:3bdadf6f6dbd 154
ozy 5:889ad974b64d 155 void Enemy::sword_left(N5110 &lcd) {
ozy 1:3bdadf6f6dbd 156 const int swordsprite[12][10] = {
ozy 1:3bdadf6f6dbd 157 { 0,0,0,0,1,1,1,1,0,0 },
ozy 1:3bdadf6f6dbd 158 { 0,0,0,0,1,1,1,1,0,1 },
ozy 1:3bdadf6f6dbd 159 { 0,0,0,0,0,1,1,0,0,1 },
ozy 1:3bdadf6f6dbd 160 { 0,0,0,1,0,1,1,0,1,1 },
ozy 1:3bdadf6f6dbd 161 { 1,1,1,1,1,1,1,1,1,0 },
ozy 6:a1a7dc264fed 162 { 0,0,0,1,0,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 163 { 0,0,0,0,0,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 164 { 0,0,0,0,0,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 165 { 0,0,0,0,1,1,1,1,0,0 },
ozy 1:3bdadf6f6dbd 166 { 0,0,0,1,1,0,0,1,1,0 },
ozy 1:3bdadf6f6dbd 167 { 0,0,0,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 168 { 0,0,0,0,0,1,0,0,1,1 },
ozy 1:3bdadf6f6dbd 169 };
ozy 1:3bdadf6f6dbd 170 lcd.drawSprite(_x,_y,12,10,(int *)swordsprite);
ozy 1:3bdadf6f6dbd 171 }
ozy 1:3bdadf6f6dbd 172
ozy 1:3bdadf6f6dbd 173 // ************************************************************************
ozy 1:3bdadf6f6dbd 174
ozy 1:3bdadf6f6dbd 175
ozy 5:889ad974b64d 176 void Enemy::kick_right(N5110 &lcd) {
ozy 1:3bdadf6f6dbd 177 const int kick[12][10] = {
ozy 1:3bdadf6f6dbd 178 { 0,1,1,0,0,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 179 { 0,1,1,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 180 { 0,0,0,1,1,1,1,0,0,1 },
ozy 1:3bdadf6f6dbd 181 { 0,0,1,1,1,0,0,0,1,1 },
ozy 1:3bdadf6f6dbd 182 { 0,1,1,1,1,1,1,1,0,0 },
ozy 1:3bdadf6f6dbd 183 { 0,1,0,0,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 184 { 1,1,1,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 185 { 0,1,0,0,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 186 { 0,1,0,1,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 187 { 0,0,0,1,0,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 188 { 0,0,1,1,0,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 189 { 0,0,1,1,0,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 190 };
ozy 1:3bdadf6f6dbd 191 lcd.drawSprite(_x,_y,12,10,(int *)kick);
ozy 1:3bdadf6f6dbd 192 }
ozy 1:3bdadf6f6dbd 193
ozy 1:3bdadf6f6dbd 194 // ************************************************************************
ozy 1:3bdadf6f6dbd 195
ozy 1:3bdadf6f6dbd 196
ozy 5:889ad974b64d 197 void Enemy::kick_left(N5110 &lcd) {
ozy 1:3bdadf6f6dbd 198 const int kick[12][10] = {
ozy 1:3bdadf6f6dbd 199 { 0,0,0,0,0,0,0,1,1,0 },
ozy 1:3bdadf6f6dbd 200 { 0,0,0,0,1,1,0,1,1,0 },
ozy 1:3bdadf6f6dbd 201 { 1,0,0,1,1,1,1,0,0,0 },
ozy 1:3bdadf6f6dbd 202 { 1,1,0,0,0,1,1,1,0,0 },
ozy 1:3bdadf6f6dbd 203 { 0,0,1,1,1,1,1,1,1,0 },
ozy 1:3bdadf6f6dbd 204 { 0,0,0,1,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 205 { 0,0,0,0,1,1,0,1,1,1 },
ozy 1:3bdadf6f6dbd 206 { 0,0,0,0,0,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 207 { 0,0,0,0,1,1,0,0,1,0 },
ozy 1:3bdadf6f6dbd 208 { 0,0,0,0,1,0,0,0,0,0 },
ozy 1:3bdadf6f6dbd 209 { 0,0,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 210 { 0,0,0,0,1,1,0,0,0,0 },
ozy 1:3bdadf6f6dbd 211 };
ozy 1:3bdadf6f6dbd 212 lcd.drawSprite(_x,_y,12,10,(int *)kick);
ozy 1:3bdadf6f6dbd 213 }
ozy 1:3bdadf6f6dbd 214
ozy 1:3bdadf6f6dbd 215 // ************************************************************************