public static Pos ReadInput(Config config, Board gameBoard, char currentPlayer) { if (IsAiPlayerTurn(config, currentPlayer)) { var move = AiWithScoreTable.GetAiMove(gameBoard, currentPlayer); Console.WriteLine(move); return(move); } else { var input = ReadInput(); var move = ParseMove(input); while (!ReversiRules.IsValidMove(gameBoard, move, currentPlayer)) { Console.WriteLine("You can't place a piece there!\n"); Console.Write(currentPlayer == Constants.Black ? "BLACK, make your move: " : "WHITE, make your move: "); input = ReadInput(); move = ParseMove(input); } return(move); } }