Exemple #1
0
        private static void StartConsoleApp()
        {
            engine.Reset();

            while (!engine.GameFinished())
            {
                Console.WriteLine("Type a number from 1-9, new or quit");
                Console.WriteLine("Current Player: Player" + engine.GetCurrentPlayer().GetSymbol());
                Console.WriteLine(engine.Board());
                string input = Console.ReadLine();

                if (int.TryParse(input, out int number))
                {
                    if (engine.ChooseCell(number))
                    {
                        continue;
                    }
                    else
                    {
                        Console.WriteLine("Error: Input out of range or this cell is already taken.");
                        continue;
                    }
                }
                else
                {
                    string lowerInput = input.ToLower();
                    if (lowerInput == "new")
                    {
                        engine.Reset();
                        continue;
                    }
                    else if (lowerInput == "quit")
                    {
                        return;
                    }
                    Console.WriteLine("Your input was invalid.");
                }
            }

            if (engine.Status.ToString().ToLower().Contains("won"))
            {
                Console.WriteLine("Player {0} won!", engine.GetCurrentPlayer().GetSymbol());
            }
            else
            {
                Console.WriteLine("The game ended in a draw.");
            }

            Console.WriteLine("Restarting the game...");
            StartConsoleApp();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            TicTacToeEngine t = new TicTacToeEngine();

            while (true)
            {
                if (!(t.Status == TicTacToeEngine.GameStatus.Equal || t.Status == TicTacToeEngine.GameStatus.PlayerOWins || t.Status == TicTacToeEngine.GameStatus.PlayerXWins))
                {
                    Display(t);
                    string input = Console.ReadLine();

                    if (input == "new")
                    {
                        t.Reset();
                        Console.Clear();
                    }
                    else if (IsInt(input))
                    {
                        t.ChooseCell(int.Parse(input));
                    }
                    else if (input == "quit")
                    {
                        break;
                    }
                    else
                    {
                        Console.WriteLine("Incorrect Input\nType a number from 1-9, new or quit\n");
                    }
                }
                else
                {
                    if (t.Status == TicTacToeEngine.GameStatus.Equal)
                    {
                        Console.WriteLine("Nobody wins.\nPress enter to play again");
                    }
                    else if (t.Status == TicTacToeEngine.GameStatus.PlayerOWins)
                    {
                        Console.WriteLine("Player O wins. Congratulations\nPress enter to play again");
                    }
                    else if (t.Status == TicTacToeEngine.GameStatus.PlayerXWins)
                    {
                        Console.WriteLine("Player X wins. Congratulations\nPress enter to play again");
                    }
                    Console.ReadLine();
                    Console.Clear();
                    t.Reset();
                }
            }
        }