Mortal Kombat Game ELEC2645

Dependencies:   mbed N5110 ShiftReg Joystick

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?

UserRevisionLine numberNew 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