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."); } } }
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."); } }