Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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;
        }