if (numRandMoves >= numRandomLookAhead || searchable.done(lastMove, false)) {
int score = searchable.worth(lastMove, weights_);
lastMove.setValue(score);
return WinProbabilityCaclulator.getChanceOfPlayer1Winning(score);
}
MoveList moves = searchable.generateMoves(lastMove, weights_);
if (moves.size() == 0) {
return WinProbabilityCaclulator.getChanceOfPlayer1Winning(lastMove.getValue());
}
TwoPlayerMove randomMove = (TwoPlayerMove) moves.getRandomMoveForThresh(percentLessThanBestThresh);
searchable.makeInternalMove(randomMove);
return playRandomMove(randomMove, searchable, startNumMoves);
}