Mortal Kombat Game ELEC2645

Dependencies:   mbed N5110 ShiftReg Joystick

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?

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