ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19tb

Dependencies:   mbed

Revision:
52:1145e99264ea
Parent:
51:4c1f49729d88
Child:
53:b6bb4dab7823
--- a/Frogger/Frogger.cpp	Mon May 25 16:58:50 2020 +0000
+++ b/Frogger/Frogger.cpp	Mon May 25 17:53:05 2020 +0000
@@ -422,6 +422,18 @@
     {
         moveIndividualObject(&row[i], c);
         checkCollison(row[i]); // check if the frog has crashed/on log
+        checkTurtleDrown();
+    }
+}
+
+void Frogger::checkTurtleDrown()
+{
+    // if the frog is on the row of the turtles and 
+    // turtles are under water, then frog is dead
+    if(frog->y == (48-(4*8)) 
+    && (turtle_state >= 3001)
+    && current_level == 2){
+        frog->reset(); // frog is dead
     }
 }
 
@@ -442,7 +454,34 @@
     checkOutOfBounds(vehicle);
     checkFrogOutOfBounds(); 
     
-    graphics.showObj(vehicle);  // display to screen
+    graphics.showObj(vehicle, turtle_state);  // display to screen
+
+    updateTurtleState();
+}
+
+void Frogger::updateTurtleState()
+{
+    switch(turtle_state)
+    {
+        case 0 ... 1000:
+            turtle_state++;  
+            break;
+        case 1001 ... 2000:
+            turtle_state++;  
+            break;
+        case 2001 ... 3000:
+            turtle_state++;  
+            break;
+        case 3001 ... 4000:
+            turtle_state++;  
+            break;
+        case 4001 ... 5000:
+            turtle_state++;  
+            break;
+        case 5001:
+            turtle_state = 0;
+            break;
+    }
 }
 /* ENGINE RUN */
 
@@ -713,4 +752,3 @@
 {
     return (rand() % 4) + 1;
 }
-