Ejemplo n.º 1
0
        static void Main()
        {
            var board = new Gameboard();

            board.Setup();
            do
            {
                board.Print();
                Console.Write("Enter cell to fire at (e.g. A1, B1, ...) or q to quit: ");
                String cellReference = Console.ReadLine();
                if (cellReference.ToLower() == "q")
                {
                    Console.WriteLine("Bye!");
                    return;
                }

                if (!Gameboard.TranslateCellReference(cellReference, out Int16 row, out Int16 column))
                {
                    Console.WriteLine($"'{cellReference}' is not a valid cell.");
                    continue;
                }

                FiringResult result = board.FireMissile(row, column);
                switch (result)
                {
                case FiringResult.Hit:
                    Console.WriteLine("Hit!");
                    break;

                case FiringResult.Missed:
                    Console.WriteLine("Missed!");
                    break;

                default:
                    Console.WriteLine("You've already been there!");
                    break;
                }
            } while(!board.IsGameWon);

            board.Print();
            Console.WriteLine("Congratulations, you Won!");
        }
Ejemplo n.º 2
0
 public void ExecuteFiring(FiringResult result)
 {
     switch (result)
     {
         case FiringResult.Success:
             FiringOperator.StartFiring();
             if (_fireSoundType == FiringEffectPlayType.Once) PlayFiringSound();
             if (_fireEffectType == FiringEffectPlayType.Once) CreateVisuals();
             if (PlayerOwner != null) PlayerOwner.OnWeaponFired(this); // TODO !!! Make PlayerOwner work with BotPlayer, too.
             break;
         case FiringResult.Failure:
             PlayFiringFailedSound();
             ShowFiringFailedEffect();
             break;
         case FiringResult.NotReady:
             PlayFiringFailedSound();
             break;
         case FiringResult.Void:
             break;
         default: throw new ApplicationException();
     }
 }