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(); } } }