Mortal Kombat Game ELEC2645

Dependencies:   mbed N5110 ShiftReg Joystick

Revision:
13:eaf070d5f599
Parent:
12:b4477a312158
Child:
14:7f23841685ad
--- 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 @@
     }
 }
 
+
+
+