Beispiel #1
0
        public override void Shoot(Player enemy)
        {
            if (TargetCoordinates == NO_TARGET)
            {
                AutoAim(enemy.GetTerritory());
            }

            Vector temp = TargetCoordinates;

            base.Shoot(enemy);

            if (_targetShipDestroyed)
            {
                Logger.Log($"targetShipDestroyed = {_targetShipDestroyed}");
                _firstHit            = true;
                _targetShipDestroyed = false;
                return;
            }

            if (enemy.GetTerritory()[temp.X, temp.Y] == 3)
            {
                _unresolvedShots.Add(temp);
                if (_unresolvedShots.Count > 1)
                {
                    _firstHit = false;
                    Logger.Log($"firstHit = {_firstHit}; because second hit is made.");
                }
            }
        }