Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to the \"Battle Field\" game.");

            ConsoleBattleField game = new ConsoleBattleField();
            int fieldSize = TryGetInputFieldSizeUntilValid(game);

            game.InitializeGameField(fieldSize);
            game.GenerateMines();

            while (true)
            {
                Console.WriteLine(String.Empty + game.GetBattleFieldAsString());

                int mineRow, mineCol;
                TryGetInputMineCoordinatesUntilValid(game, out mineRow, out mineCol);

                game.DetonateMine(mineRow, mineCol);
                if (game.MineCount == 0)
                {
                    Console.WriteLine(game.GetBattleFieldAsString());
                    Console.WriteLine("{0}Game over! {0}Detonated mines: {1}",
                        Environment.NewLine, game.DetonatedMinesCount);
                    break;
                }
            }
        }
        public void TestGetBattleFieldAsString()
        {
            ConsoleBattleField testGame = new ConsoleBattleField();
            testGame.InitializeGameField(10);

            StringBuilder expectedPrintedField = new StringBuilder();

            expectedPrintedField.AppendLine("   0  1  2  3  4  5  6  7  8  9  ");
            expectedPrintedField.AppendLine("   ----------------------------");
            expectedPrintedField.AppendLine("0| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("1| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("2| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("3| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("4| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("5| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("6| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("7| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("8| -  -  -  -  -  -  -  -  -  - ");
            expectedPrintedField.AppendLine("9| -  -  -  -  -  -  -  -  -  - ");

            Assert.AreEqual(expectedPrintedField.ToString(),
                testGame.GetBattleFieldAsString());
        }