public bool BulletCollision(Bullet bullet) { var position = GetPosition(bullet.GetPosition().Item1, bullet.GetPosition().Item2); if (!position.IsNull()) { _statistic.Score().SetScore(); return true; } for (var i = 0; i < ETankCount(); i++) { if (ETanks[i].GetPosition().Item1 == bullet.GetPosition().Item1 && ETanks[i].GetPosition().Item2 == bullet.GetPosition().Item2) { if(ETanks.Last().GetHealth() != 0 && !ETanks[i].Equals(ETanks.Last())) ETanks.RemoveAt(i); else ETanks.Last().ChangeHealth(-1); if (ETanks.Last().GetHealth() == 0) { Died = true; ETanks.RemoveAt(ETankCount()-1); } _statistic.Score().SetScore(); return true; } } return false; }
public bool BulletCollision(Bullet bullet) { if (_map.Bricks.Contains(new Map.Position(bullet.GetPosition().Item1, bullet.GetPosition().Item2, "W"))) { _map.Bricks.Remove(new Map.Position(bullet.GetPosition().Item1, bullet.GetPosition().Item2, "W")); statistic.Score().SetScore(); return true; } if (_map.Bricks.Contains(new Map.Position(bullet.GetPosition().Item1, bullet.GetPosition().Item2, "%"))) { _map.Bricks.Remove(new Map.Position(bullet.GetPosition().Item1, bullet.GetPosition().Item2, "%")); statistic.Score().SetScore(); return true; } if (ETanks.Contains(new EnemyTankOne(bullet.GetPosition().Item1, bullet.GetPosition().Item2))) { ETanks.Remove(new EnemyTankOne(bullet.GetPosition().Item1, bullet.GetPosition().Item2)); return true; } if (ETanks.Contains(new EnemyTankTwo(bullet.GetPosition().Item1, bullet.GetPosition().Item2))) { ETanks.Remove(new EnemyTankTwo(bullet.GetPosition().Item1, bullet.GetPosition().Item2)); return true; } if (ETanks.Contains(new Player(bullet.GetPosition().Item1, bullet.GetPosition().Item2))) { ETanks.Last().ChangeHealth(-1); if (ETanks.Last().GetHealth() == 0) ETanks.Remove(new Player(bullet.GetPosition().Item1, bullet.GetPosition().Item2)); return true; } for (var i = 0; i < ETankCount(); i++) { if (ETanks[i].GetPosition().Item1 == bullet.GetPosition().Item1 && ETanks[i].GetPosition().Item2 == bullet.GetPosition().Item2) { ETanks.RemoveAt(i); statistic.Score().SetScore(); return true; } } return false; }
public bool BulletPositionCheck(Bullet bullet) { if (bullet.GetPosition().Item1 >= ScreenSizeX - 2 || bullet.GetPosition().Item2 >= ScreenSizeY - 2 || bullet.GetPosition().Item2 < 2 || bullet.GetPosition().Item1 < 2) return true; return false; }