Mortal Kombat Game ELEC2645

Dependencies:   mbed N5110 ShiftReg Joystick

Committer:
ozy
Date:
Tue Apr 13 10:06:02 2021 +0000
Revision:
0:99b49fd71085
Child:
1:3bdadf6f6dbd
Sprite moving and Debugging menu 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 0:99b49fd71085 7 void Fighter::draw(N5110 &lcd, float _x, float _y) { // drawing standing Fighter
ozy 0:99b49fd71085 8
ozy 0:99b49fd71085 9 const int standsprite[12][10] = {
ozy 0:99b49fd71085 10 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 11 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 12 { 0,0,1,1,1,1,1,1,0,0 },
ozy 0:99b49fd71085 13 { 0,0,1,0,1,1,0,1,0,0 },
ozy 0:99b49fd71085 14 { 0,1,1,0,1,1,0,1,1,0 },
ozy 0:99b49fd71085 15 { 0,1,0,0,1,1,0,0,1,0 },
ozy 0:99b49fd71085 16 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 17 { 0,0,1,1,0,0,1,1,0,0 },
ozy 0:99b49fd71085 18 { 0,0,1,0,0,0,0,1,0,0 },
ozy 0:99b49fd71085 19 { 0,1,1,0,0,0,0,1,1,0 },
ozy 0:99b49fd71085 20 { 0,1,0,0,0,0,0,0,1,0 },
ozy 0:99b49fd71085 21 { 0,1,0,0,0,0,0,0,1,0 },
ozy 0:99b49fd71085 22 };
ozy 0:99b49fd71085 23
ozy 0:99b49fd71085 24 lcd.drawSprite(_x,_y,12,10,(int *)standsprite);
ozy 0:99b49fd71085 25 }
ozy 0:99b49fd71085 26
ozy 0:99b49fd71085 27 // ************************************************************************
ozy 0:99b49fd71085 28
ozy 0:99b49fd71085 29 void Fighter::move_left(N5110 &lcd, float _x, float _y){
ozy 0:99b49fd71085 30 const int run_left[12][10] = {
ozy 0:99b49fd71085 31 { 0,0,1,1,1,0,0,0,0,0 },
ozy 0:99b49fd71085 32 { 0,0,1,1,1,0,0,0,0,0 },
ozy 0:99b49fd71085 33 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 34 { 0,0,1,0,1,1,1,1,0,0 },
ozy 0:99b49fd71085 35 { 1,1,1,0,1,1,0,1,1,0 },
ozy 0:99b49fd71085 36 { 0,0,0,0,1,1,0,0,0,1 },
ozy 0:99b49fd71085 37 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 38 { 0,0,1,1,0,0,1,1,0,0 },
ozy 0:99b49fd71085 39 { 0,1,1,0,0,0,1,1,1,1 },
ozy 0:99b49fd71085 40 { 0,0,1,1,0,0,0,0,0,0 },
ozy 0:99b49fd71085 41 { 0,0,0,1,1,0,0,0,0,0 },
ozy 0:99b49fd71085 42 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 43 };
ozy 0:99b49fd71085 44 lcd.drawSprite(_x,_y,12,10,(int *)run_left);
ozy 0:99b49fd71085 45 }
ozy 0:99b49fd71085 46
ozy 0:99b49fd71085 47 // ************************************************************************
ozy 0:99b49fd71085 48
ozy 0:99b49fd71085 49 void Fighter::move_left2(N5110 &lcd, float _x, float _y){
ozy 0:99b49fd71085 50 const int midrun_left[12][10] = {
ozy 0:99b49fd71085 51 { 0,0,1,1,1,0,0,0,0,0 },
ozy 0:99b49fd71085 52 { 0,0,1,1,1,0,0,0,0,0 },
ozy 0:99b49fd71085 53 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 54 { 0,0,1,0,1,1,1,1,0,0 },
ozy 0:99b49fd71085 55 { 1,1,1,0,1,1,0,1,1,0 },
ozy 0:99b49fd71085 56 { 0,0,0,0,1,1,0,0,0,1 },
ozy 0:99b49fd71085 57 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 58 { 0,0,1,1,0,0,1,1,0,0 },
ozy 0:99b49fd71085 59 { 0,1,1,0,0,0,1,1,0,0 },
ozy 0:99b49fd71085 60 { 0,0,1,1,0,0,0,1,1,0 },
ozy 0:99b49fd71085 61 { 0,0,1,1,0,0,0,0,1,0 },
ozy 0:99b49fd71085 62 { 0,0,0,1,0,0,0,0,1,1 },
ozy 0:99b49fd71085 63 };
ozy 0:99b49fd71085 64 lcd.drawSprite(_x,_y,12,10,(int *)midrun_left);
ozy 0:99b49fd71085 65 }
ozy 0:99b49fd71085 66
ozy 0:99b49fd71085 67 // ************************************************************************
ozy 0:99b49fd71085 68
ozy 0:99b49fd71085 69 void Fighter::move_right(N5110 &lcd, float _x, float _y) {
ozy 0:99b49fd71085 70
ozy 0:99b49fd71085 71 const int run_right[12][10] = {
ozy 0:99b49fd71085 72 { 0,0,0,0,0,1,1,1,0,0 },
ozy 0:99b49fd71085 73 { 0,0,0,0,0,1,1,1,0,0 },
ozy 0:99b49fd71085 74 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 75 { 0,0,1,1,1,1,0,1,0,0 },
ozy 0:99b49fd71085 76 { 0,1,1,0,1,1,0,1,1,1 },
ozy 0:99b49fd71085 77 { 1,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 78 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 79 { 0,0,1,1,0,0,1,1,0,0 },
ozy 0:99b49fd71085 80 { 1,1,1,1,0,0,0,1,1,0 },
ozy 0:99b49fd71085 81 { 0,0,0,0,0,0,1,1,0,0 },
ozy 0:99b49fd71085 82 { 0,0,0,0,0,1,1,0,0,0 },
ozy 0:99b49fd71085 83 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 84 };
ozy 0:99b49fd71085 85 lcd.drawSprite(_x,_y,12,10,(int *)run_right);
ozy 0:99b49fd71085 86 }
ozy 0:99b49fd71085 87
ozy 0:99b49fd71085 88 // ************************************************************************
ozy 0:99b49fd71085 89
ozy 0:99b49fd71085 90 void Fighter::move_right2(N5110 &lcd, float _x, float _y) {
ozy 0:99b49fd71085 91 const int midrun_right[12][10] = {
ozy 0:99b49fd71085 92 { 0,0,0,0,0,1,1,1,0,0 },
ozy 0:99b49fd71085 93 { 0,0,0,0,0,1,1,1,0,0 },
ozy 0:99b49fd71085 94 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 95 { 0,0,1,1,1,1,0,1,0,0 },
ozy 0:99b49fd71085 96 { 0,1,1,0,1,1,0,1,1,1 },
ozy 0:99b49fd71085 97 { 1,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 98 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 99 { 0,0,1,1,0,0,1,1,0,0 },
ozy 0:99b49fd71085 100 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 101 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 102 { 0,0,1,1,0,1,1,0,0,0 },
ozy 0:99b49fd71085 103 { 0,0,1,0,0,0,1,0,0,0 },
ozy 0:99b49fd71085 104 };
ozy 0:99b49fd71085 105 lcd.drawSprite(_x,_y,12,10,(int *)midrun_right);
ozy 0:99b49fd71085 106 }
ozy 0:99b49fd71085 107
ozy 0:99b49fd71085 108 // ************************************************************************
ozy 0:99b49fd71085 109
ozy 0:99b49fd71085 110 void Fighter::kick_right(N5110 &lcd, float _x, float _y) {
ozy 0:99b49fd71085 111 const int kick[12][10] = {
ozy 0:99b49fd71085 112 { 0,1,1,0,0,0,0,0,0,0 },
ozy 0:99b49fd71085 113 { 0,1,1,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 114 { 0,0,0,1,1,1,1,0,0,1 },
ozy 0:99b49fd71085 115 { 0,0,1,1,1,0,0,0,1,1 },
ozy 0:99b49fd71085 116 { 0,1,1,1,1,1,1,1,0,0 },
ozy 0:99b49fd71085 117 { 0,1,0,0,1,1,1,0,0,0 },
ozy 0:99b49fd71085 118 { 1,1,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 119 { 0,0,0,0,1,0,0,0,0,0 },
ozy 0:99b49fd71085 120 { 0,0,0,1,1,0,0,0,0,0 },
ozy 0:99b49fd71085 121 { 0,0,0,1,0,0,0,0,0,0 },
ozy 0:99b49fd71085 122 { 0,0,1,1,0,0,0,0,0,0 },
ozy 0:99b49fd71085 123 { 0,0,1,1,0,0,0,0,0,0 },
ozy 0:99b49fd71085 124 };
ozy 0:99b49fd71085 125 lcd.drawSprite(_x,_y,12,10,(int *)kick);
ozy 0:99b49fd71085 126 }
ozy 0:99b49fd71085 127
ozy 0:99b49fd71085 128 // ************************************************************************
ozy 0:99b49fd71085 129
ozy 0:99b49fd71085 130 void Fighter::kick_left(N5110 &lcd, float _x, float _y) {
ozy 0:99b49fd71085 131 const int kick[12][10] = {
ozy 0:99b49fd71085 132 { 0,0,0,0,0,0,0,1,1,0 },
ozy 0:99b49fd71085 133 { 0,0,0,0,1,1,0,1,1,0 },
ozy 0:99b49fd71085 134 { 1,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 135 { 1,1,0,0,0,1,1,1,0,0 },
ozy 0:99b49fd71085 136 { 0,0,1,1,1,1,1,1,1,0 },
ozy 0:99b49fd71085 137 { 0,0,0,1,1,1,0,0,1,0 },
ozy 0:99b49fd71085 138 { 0,0,0,0,1,1,0,0,1,1 },
ozy 0:99b49fd71085 139 { 0,0,0,0,0,1,0,0,0,0 },
ozy 0:99b49fd71085 140 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 141 { 0,0,0,0,1,0,0,0,0,0 },
ozy 0:99b49fd71085 142 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 143 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 144 };
ozy 0:99b49fd71085 145 lcd.drawSprite(_x,_y,12,10,(int *)kick);
ozy 0:99b49fd71085 146 }
ozy 0:99b49fd71085 147
ozy 0:99b49fd71085 148 // ************************************************************************
ozy 0:99b49fd71085 149
ozy 0:99b49fd71085 150 void Fighter::punch_right(N5110 &lcd, float _x, float _y) {
ozy 0:99b49fd71085 151 const int punch[12][10] = {
ozy 0:99b49fd71085 152 { 0,0,0,0,1,1,0,0,0,1 },
ozy 0:99b49fd71085 153 { 0,0,0,0,1,1,0,0,1,1 },
ozy 0:99b49fd71085 154 { 0,0,1,1,1,1,0,1,1,0 },
ozy 0:99b49fd71085 155 { 0,1,0,0,1,1,1,1,0,0 },
ozy 0:99b49fd71085 156 { 0,1,1,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 157 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 158 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 159 { 0,0,0,1,0,0,1,1,0,0 },
ozy 0:99b49fd71085 160 { 0,0,1,1,0,0,1,1,0,0 },
ozy 0:99b49fd71085 161 { 0,0,1,0,0,0,1,0,0,0 },
ozy 0:99b49fd71085 162 { 0,1,1,0,0,0,1,0,0,0 },
ozy 0:99b49fd71085 163 { 1,1,0,0,0,1,1,0,0,0 },
ozy 0:99b49fd71085 164 };
ozy 0:99b49fd71085 165 lcd.drawSprite(_x,_y,12,10,(int *)punch);
ozy 0:99b49fd71085 166 }
ozy 0:99b49fd71085 167
ozy 0:99b49fd71085 168 // ************************************************************************
ozy 0:99b49fd71085 169
ozy 0:99b49fd71085 170 void Fighter::punch_left(N5110 &lcd, float _x, float _y) {
ozy 0:99b49fd71085 171 const int punch[12][10] = {
ozy 0:99b49fd71085 172 { 1,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 173 { 1,1,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 174 { 0,1,1,0,1,1,1,1,0,0 },
ozy 0:99b49fd71085 175 { 0,0,1,1,1,1,0,0,1,0 },
ozy 0:99b49fd71085 176 { 0,0,0,0,1,1,0,1,1,0 },
ozy 0:99b49fd71085 177 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 178 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 179 { 0,0,1,1,0,0,1,0,0,0 },
ozy 0:99b49fd71085 180 { 0,0,1,1,0,0,1,1,0,0 },
ozy 0:99b49fd71085 181 { 0,0,0,1,0,0,0,1,0,0 },
ozy 0:99b49fd71085 182 { 0,0,0,1,0,0,0,1,1,0 },
ozy 0:99b49fd71085 183 { 0,0,0,1,1,0,0,0,1,1 },
ozy 0:99b49fd71085 184 };
ozy 0:99b49fd71085 185 lcd.drawSprite(_x,_y,12,10,(int *)punch);
ozy 0:99b49fd71085 186 }
ozy 0:99b49fd71085 187
ozy 0:99b49fd71085 188 // ************************************************************************
ozy 0:99b49fd71085 189
ozy 0:99b49fd71085 190 void Fighter::guard(N5110 &lcd, float _x, float _y) {
ozy 0:99b49fd71085 191 const int guard[12][10] = {
ozy 0:99b49fd71085 192 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 193 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 194 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 195 { 0,0,1,0,1,1,0,1,0,0 },
ozy 0:99b49fd71085 196 { 0,0,1,0,1,1,0,1,0,0 },
ozy 0:99b49fd71085 197 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 198 { 0,0,0,0,1,1,0,0,0,0 },
ozy 0:99b49fd71085 199 { 0,0,0,1,1,1,1,0,0,0 },
ozy 0:99b49fd71085 200 { 0,0,1,1,1,1,1,1,0,0 },
ozy 0:99b49fd71085 201 { 0,1,0,0,0,0,0,0,1,0 },
ozy 0:99b49fd71085 202 { 0,1,0,0,0,0,0,0,1,0 },
ozy 0:99b49fd71085 203 { 0,1,0,0,0,0,0,0,1,0 },
ozy 0:99b49fd71085 204 };
ozy 0:99b49fd71085 205 lcd.drawSprite(_x,_y,12,10,(int *)guard);
ozy 0:99b49fd71085 206 }
ozy 0:99b49fd71085 207
ozy 0:99b49fd71085 208
ozy 0:99b49fd71085 209
ozy 0:99b49fd71085 210
ozy 0:99b49fd71085 211
ozy 0:99b49fd71085 212