Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.SetWindowSize(75, 35);
            Console.BufferWidth = 75;
            Console.Clear();
            Console.WriteLine("Welcome to Minesweeper!");
            Console.Write("Press any key to start...");
            Console.ReadKey();

            bool playAgain;

            do
            {
                playAgain = false;

                var board = new Board(Width, Height, NumBombs);
                board.Draw();
                do
                {
                    // get user input
                    UserCommand uc;
                    bool        valid = GetUserInput(out uc);
                    if (valid)
                    {
                        if (uc.Reveal)
                        {
                            valid = board.RevealCell(uc.x - 1, uc.y - 1);
                        }
                        else
                        {
                            valid = board.ToggleFlag(uc.x - 1, uc.y - 1);
                        }
                    }
                    if (!valid)
                    {
                        Console.Clear();
                        Console.WriteLine("Invalid command. Please try again.");
                        Console.WriteLine("Press any key to continue...");
                        Console.ReadKey();
                    }

                    board.Draw();
                } while (!board.GameOver);

                if (board.IsWinCondition())
                {
                    Console.WriteLine("You WON!!!");
                }
                else
                {
                    Console.WriteLine("You LOST...");
                }

                Console.WriteLine("Would you like to play again? y or n:");
                var key = Console.ReadKey();
                if (key.KeyChar == 'y')
                {
                    playAgain = true;
                }
            } while (playAgain);

            Console.SetCursorPosition(0, Console.WindowHeight - 1);
            Console.Write("Press any key to continue...");
            Console.ReadKey();
        }