Example #1
0
 private void DetectCollisions()                                 //detects interaction between drawn objects
 {
     if ((tank1.isColliding(bullet2)) && bullet2.Active == true) //tank-bullet interaction
     {
         tank1.TakeHit();                                        //damages tank
         bullet2.Active = false;                                 //resets bullet
     }
     if ((tank2.isColliding(bullet1)) && bullet1.Active == true) //the boolean was needed to keep an inactive unfired bullet from continually damaging the tank
     {
         tank2.TakeHit();
         bullet1.Active = false;
     }
     foreach (Wall k in walls) //cycles through all wall-bullet/tank collisions
     {
         if (k.isColliding(bullet1))
         {
             bullet1.Active = false; //bullet is reset
         }
         if (k.isColliding(bullet2))
         {
             bullet2.Active = false;
         }
         if (k.isColliding(tank1))
         {
             tank1.Reverse(); //tank is unable to pass through
         }
         if (k.isColliding(tank2))
         {
             tank2.Reverse();
         }
     }
 }