Ejemplo n.º 1
0
 public void TakeATurn(TicTacToeBoard board)
 {
     board.DisplayBoard();
     bool validMove = false;
     while (!validMove)
     {
         Console.WriteLine("Please make a move (1-9):");
         int move;
         if (Int32.TryParse(Console.ReadLine(), out move))
         {
             if (board.GetMove(move) == 0)
             {
                 board.MakeMove(move, 2);
                 validMove = true;
             }
             else
             {
                 Console.WriteLine("Invalid move. Please try again.");
             }
         }
         else
         {
             Console.WriteLine("Invalid syntax. Please try again.");
         }
     }
 }
Ejemplo n.º 2
0
        public void PlayAGame()
        {
            TicTacToeBot ai = new TicTacToeBot();
            TicTacToeBoard board = new TicTacToeBoard();
            Random rng = new Random();
            bool yourTurn;
            Console.WriteLine("Randomizing who starts...");
            if (rng.Next(2) == 0)
            {
                Console.WriteLine("You start!");
                yourTurn = true;
            }
            else
            {
                Console.WriteLine("AI starts.");
                yourTurn = false;
            }

            int winner = 0;
            bool draw = false;
            while (winner == 0 && !draw)
            {
                if (yourTurn)
                {
                    TakeATurn(board);
                }
                else
                {
                    board.MakeMove(ai.GetBestMove(board), 1);
                }
                yourTurn = !yourTurn;
                winner = board.CheckForWin();
                draw = board.CheckForDraw();
            }
            board.DisplayBoard();
            if (winner == 1)
            {
                Console.WriteLine("AI wins.");
            }
            else if (winner == 2)
            {
                Console.WriteLine("You win!");
            }
            else
            {
                Console.WriteLine("Draw game.");
            }
        }