Mortal Kombat Game ELEC2645

Dependencies:   mbed N5110 ShiftReg Joystick

Revision:
13:eaf070d5f599
Parent:
12:b4477a312158
Child:
14:7f23841685ad
--- a/GameEngine.cpp	Sun Apr 25 00:16:59 2021 +0000
+++ b/GameEngine.cpp	Sun Apr 25 15:04:06 2021 +0000
@@ -8,7 +8,7 @@
 
 void GameEngine::start(N5110 &lcd, DigitalIn &buttonA, DigitalIn &buttonB, DigitalIn &buttonC, DigitalIn &buttonD, AnalogIn  &joy_v, AnalogIn  &joy_h) {
     // initializing and drawing enemy
-    _enemy.init();
+    _enemy.init(1);
     enemy_AI(lcd);
     // function that draws fighter and allows user to control it 
     _fighter.move_fighter(lcd, buttonA, buttonB, buttonC, buttonD, joy_v, joy_h);
@@ -33,8 +33,28 @@
     _enemy.draw(lcd, input);
     if (diff >= -15 && diff <= 15){ // randomize enemy fight moves only in fighting range
         _enemy.randomize_moves(lcd, input);
+        // check for collision (without guard ON)
+        // function to reduce enemy health or fighter health
+        // check_enemy_dead and deploy next god 
         }
-    
+    else if (diff < 0) { // negative difference so fighter is to the left so enemy must move left
+        _enemy.move_left(lcd);
+    }
+    else { // move enemy to fighter until within fighting range
+         _enemy.draw(lcd, input);
+    }
 }
+/*
+void GameEngine::enemy_move_around(N5110 &lcd) {
+    int fighter_pos = _fighter.get_x();
+    printf("f pos = %i \n", fighter_pos);
+    int enemy_pos = _enemy.get_x();
+    printf("e pos = %i \n", enemy_pos);
+    int diff = fighter_pos - enemy_pos;
+    if (diff < 0) { // negative difference so fighter is to the left so enemy must move left
+        _enemy.move_left(lcd);
+    }
+}
+*/