Ben Evans / Mbed 2 deprecated Defender_Game

Dependencies:   mbed

Revision:
86:eecd168c3a23
Parent:
85:87bc28b151d8
diff -r 87bc28b151d8 -r eecd168c3a23 GameEngine/PlayEngine.cpp
--- a/GameEngine/PlayEngine.cpp	Tue May 26 19:38:48 2020 +0000
+++ b/GameEngine/PlayEngine.cpp	Wed May 27 00:32:04 2020 +0000
@@ -91,18 +91,19 @@
         for (int i = (alien_vector.size() -1) ; i >= 0 ; i--) {
             Vector2D alien_pos = alien_vector[i].get_pos(); 
             
-            // Delete person object if was being abducted by destroyed alien
-            if (alien_vector[i].get_collision_people_element() > -1) {
-                people_vector.erase(people_vector.begin() + 
-                alien_vector[i].get_collision_people_element()); 
-            } 
-                 
             // Creats explosion if alien was on the screen    
-            if (alien_pos.x <= 84 && alien_pos.x >= -6) {
-                create_explosion(alien_pos);    
+            if(alien_pos.x <= 84 && alien_pos.x >= -6){
+                create_explosion(alien_pos); 
+                
+                // Delete person object if was being abducted by destroyed alien
+                if(alien_vector[i].get_collision_people_element() > -1){
+                    people_vector.erase(people_vector.begin() + 
+                    alien_vector[i].get_collision_people_element()); 
+                } 
+                
                 alien_vector.erase(alien_vector.begin()+ i);
                 points_ ++;  
-            }   
+            }  
         }
     
     // Timer to stop smart bomb button be accidently pressed twice or spammed 
@@ -158,7 +159,9 @@
     // Slowly increasing the alien counter as game goes on to make harder
     if (spawn_alien_counter_%(375*spawn_time_multipler_) ==  0) {
         alien_number_++;
-        spawn_time_multipler_*= 1.2;      
+        spawn_time_multipler_*= 1.2;  
+        
+        // printf("alien_number_ %d\n",alien_number_);   
     }
     
     spawn_alien_counter_++;
@@ -226,18 +229,19 @@
 
 void PlayEngine::delete_aliens(int i) {
     for (int x = 0; x < bullet_vector.size(); x++) {
-        if (alien_vector[i].check_collision(bullet_vector[x])) {
+        if (alien_vector[i].check_collision(bullet_vector[x])){
             create_explosion(alien_vector[i].get_pos());
+                
+            //Delete person object if was carried by destroyed alien
+            if(alien_vector[i].get_collision_people_element() > -1){
+                people_vector.erase(people_vector.begin() + 
+                alien_vector[i].get_collision_people_element()); 
+            }
+            
             bullet_vector.erase(bullet_vector.begin()+ x);    
             alien_vector.erase(alien_vector.begin()+ i);  
             points_ ++;   
         }
-        
-        // Delete person object if was carried by destroyed alien
-        if (alien_vector[i].get_collision_people_element() > -1) {
-            people_vector.erase(people_vector.begin() + 
-            alien_vector[i].get_collision_people_element()); 
-        }
     }   
 }
 
@@ -278,7 +282,7 @@
     // Plays explosion sound if sound fx on
     if (sound_fx_ == on) {
         pad.tone(40,0.1);
-        printf("playing Explosion\n");
+        // printf("playing Explosion\n");
     }
 }