public void CheckHits() { for (int j = 0; j < bombs.Count; j++) { Boolean hit = false; Bomb b = bombs.ElementAt(j); for (int i = 0; i < obstacles.ObstacleList.Count; i++) { Obstacle c = obstacles.ObstacleList.ElementAt(i); if (c.Hits(b.Position)) { if (c.Radius > 20) { if (level == 1 || level == 3) { obstacles.AddObstacle(new Obstacle(c.Radius / 2, c.Color, new Point(c.Position.X - 20, c.Position.Y - 20), -1, -1)); obstacles.AddObstacle(new Obstacle(c.Radius / 2, c.Color, new Point(c.Position.X + 20, c.Position.Y - 20), 1, -1)); } if (level == 2) { obstacles.AddObstacle(new Obstacle(c.Radius / 2, c.Color, new Point(c.Position.X - 20, c.Position.Y - 20), -1, -1, c.Parent)); obstacles.AddObstacle(new Obstacle(c.Radius / 2, c.Color, new Point(c.Position.X + 20, c.Position.Y - 20), 1, -1, c.Parent)); } } points += 50; obstacles.ObstacleList.Remove(c); hit = true; } } if (hit) { bombs.RemoveAt(j); } if (level == 1 && obstacles.specialObstacle.Hits(b.Position)) { specialObstaclePassed = true; } } }