Mortal Kombat Game ELEC2645
Dependencies: mbed N5110 ShiftReg Joystick
Diff: Enemy.cpp
- Revision:
- 13:eaf070d5f599
- Parent:
- 12:b4477a312158
- Child:
- 14:7f23841685ad
diff -r b4477a312158 -r eaf070d5f599 Enemy.cpp --- a/Enemy.cpp Sun Apr 25 00:16:59 2021 +0000 +++ b/Enemy.cpp Sun Apr 25 15:04:06 2021 +0000 @@ -28,9 +28,29 @@ _y += y; } -void Enemy::init() { - set_x(50); - set_y(34); +void Enemy::init(int input) { + // function to initialize position of each enemy god + if (input == 1){ + set_x(50); + set_y(34); + } + else if (input == 2) { + set_x(10); + set_y(34); + } + else if (input == 3) { + set_x(55); + set_y(34); + } + else if (input == 4) { + set_x(15); + set_y(34); + } + else if (input == 5) { + set_x(56); + set_y(34); + } + } void Enemy::draw(N5110 &lcd, int input) { @@ -70,6 +90,7 @@ else { lcd.drawSprite(_x,_y,12,10,(int *)look_left); } + } // ************************************************************************ @@ -89,11 +110,8 @@ { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, }; -lcd.drawSprite(_x,_y,12,10,(int *)run_left); -} - -void Enemy::move_left2(N5110 &lcd){ - const int run_left[12][10] = { + + const int run_left2[12][10] = { { 0,0,1,1,1,0,0,0,0,0 }, { 0,0,1,1,1,0,0,0,0,0 }, { 0,0,0,1,1,1,1,1,1,0 }, @@ -107,9 +125,22 @@ { 0,0,0,0,1,0,1,0,0,0 }, { 0,0,0,1,0,0,0,1,0,0 }, }; -lcd.drawSprite(_x,_y,12,10,(int *)run_left); + // x position + add_x(-4); // move enemy to the left across lcd through increments + + // code to toggle between both move left animations (show some leg movement!) + int x = rand() % 5; + if (x == 0) { + // x = 1; + lcd.drawSprite(_x,_y,12,10,(int *)run_left); + } + else if(x == 1) { + // x = 0; + lcd.drawSprite(_x,_y,12,10,(int *)run_left2); + } } + // ************************************************************************ void Enemy::move_right(N5110 &lcd) { @@ -266,7 +297,7 @@ else if (move_number == 2){ twoway_punch(lcd); } - else{draw(lcd, input);} + else{draw(lcd, input);} // else have the enemy standing still but looking at fighter } else if(input == 0) { // enemy state: looking to the left if (move_number == 0) { @@ -282,3 +313,6 @@ } } + + +