Albert Tan Mulligan Submission

Dependencies:   mbed

Revision:
9:62fe47a1374f
Parent:
8:0c6d6ed55851
Child:
10:71ced616a64f
--- a/main.cpp	Fri May 22 16:54:10 2020 +0000
+++ b/main.cpp	Sat May 23 13:26:19 2020 +0000
@@ -44,7 +44,7 @@
 void menu();
 void GameRun();
 void Pause();
-void LevelUp();
+void LevelUp(int i);
 //FUNCTIONS
 int main()
     {    
@@ -85,20 +85,6 @@
                 p1.init(40,22);     
                 return;
             }
- /*           if (pad.X_pressed()) {
-                //pc.printf("Button_X");
-                Current_State = fsm[0].next_state[0];
-                enemies.push_back(Enemy(timer));
-                p1.init(40,22); 
-                return;
-            }
-            if (pad.Y_pressed()) {
-                //pc.printf("Button_Y");
-                Current_State = fsm[0].next_state[0];
-                enemies.push_back(Enemy(timer));
-                p1.init(40,22); 
-                return;
-            }*/
         sleep();
         }
 }
@@ -116,9 +102,6 @@
         if (pad.A_pressed()) {
             shots.push_back(Bullets(p1.get_x()+2, p1.get_y()+2, dir));
         }
-        if (enemies.size()== 0) {
-            LevelUp();
-        }
         p1.update(dir, mag);
         for(int i = 0; i<shots.size(); i++){
             shots.at(i).update();
@@ -130,13 +113,14 @@
             }
         for(int i = 0; i<enemies.size(); i++){
             enemies.at(i).update(p1.get_x()+1, p1.get_y()+1);
-            for(int j = 1; j<shots.size(); j++){
-               if(shots.at(j).get_x() >= enemies.at(i).get_x()-1 & shots.at(j).get_x()<= enemies.at(i).get_x()+1& shots.at(j).get_y() >= enemies.at(i).get_y()-1 & shots.at(j).get_y()<= enemies.at(i).get_y()+1){
-                    enemies.at(i).dead();
-                    shots.erase(shots.begin()+i);
+            for(int j = 0; j<shots.size(); j++){
+               if(shots.at(j).get_x() >= enemies.at(i).get_x() & shots.at(j).get_x()<= enemies.at(i).get_x()+3 & shots.at(j).get_y() >= enemies.at(i).get_y() & shots.at(j).get_y()<= enemies.at(i).get_y()+3){
+                    shots.at(j).dead();
+                    LevelUp(i);
                     }   
                 }
             }
+        
         lcd.clear(); 
         for(int i = 0; i<enemies.size(); i++){
             enemies.at(i).draw(lcd);
@@ -171,16 +155,9 @@
         }
         sleep();
     }
-void LevelUp(){
+void LevelUp(int i){
     
-    lcd.printString("NEXT LEVEL    ",0,1);  
-    lcd.refresh();  
-    wait(2.0);
-    enemy_number *= 2;
-    for(int i = 0; i < enemy_number; i++){
-         enemies.push_back(Enemy(timer));
-        }
-    p1.level_up();
-    Current_State = 1;
+    enemies.at(i).reset(timer);
+    enemies.push_back(Enemy(timer*timer));
     return;
     }