예제 #1
0
        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));
        }