Beispiel #1
0
        public virtual void Shoot(Player enemy)
        {
            Logger.Log($"Shooting {enemy.Name}'s ship at {TargetCoordinates.ToString()}");

            if (TargetCoordinates == NO_TARGET) // this is not so necessary
            {
                Logger.Log("Invalid target!");
                return;
            }

            // check if it hit the enemy
            bool[] feedback = enemy.IsHitAndSink(TargetCoordinates);

            if (feedback[0])
            {
                Logger.Log("Hit!");
                Hits++;
                //check if destroyed
                if (feedback[1])
                {
                    OnEnemyShipDestroyed();
                }
            }
            else
            {
                Logger.Log("Missed.");
            }

            TargetCoordinates = NO_TARGET;
        }