public string CheckWinner(Board board, string playerSymbol) { var indexesOfUserInputs = _boardAnalyser.GetAllIndexesOfPlayerInput(board, playerSymbol); return(UserInputsMatchWinnerLine(indexesOfUserInputs) ? playerSymbol : string.Empty); }
public int Solve(Board board) { var otherPlayerSymbol = _boardAnalyser.GetOtherPlayerSymBol(board, _symbol); if (string.IsNullOrEmpty(otherPlayerSymbol)) { return(RandomGuess(board)); } var indexesOfAllUserInput = _boardAnalyser.GetAllIndexesOfPlayerInput(board, otherPlayerSymbol); var computerInput = BlockPossibleWinnerLine(indexesOfAllUserInput); return(string.IsNullOrEmpty(board.Squares[computerInput]) ? computerInput : RandomGuess(board)); }