if (moveScore.compareTo(lastStepScore) >= 0) {
return true;
}
Score scoreDifference = lastStepScore.subtract(moveScore);
double acceptChance = 1.0;
double[] scoreDifferenceLevels = scoreDifference.toDoubleLevels();
for (int i = 0; i < levelsLength; i++) {
double scoreDifferenceLevel = scoreDifferenceLevels[i];
double temperatureLevel = temperatureLevels[i];
double acceptChanceLevel;
if (scoreDifferenceLevel <= 0.0) {