public void Choose(out int row, out int column) { int maxScore = -100; row = column = -1; for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { int squareScore = Score(i, j); if (Board.IsLegalMove(i, j) && (squareScore > maxScore || (squareScore == maxScore && random.NextDouble() > 0.5))) { row = i; column = j; maxScore = squareScore; } } } }