Bir minimax algoritması için listelerde Python'ın max
ve min
işlevlerini kullanıyorum ve max()
veya tarafından döndürülen değerin dizinini gerekiyor min()
. Başka bir deyişle, hangi hamlenin max (ilk oyuncunun dönüşünde) veya min (ikinci oyuncu) değerini ürettiğini bilmem gerekir.
for i in range(9):
newBoard = currentBoard.newBoardWithMove([i / 3, i % 3], player)
if newBoard:
temp = minMax(newBoard, depth + 1, not isMinLevel)
values.append(temp)
if isMinLevel:
return min(values)
else:
return max(values)
Sadece değeri değil, min veya maks değeri gerçek dizin döndürmek gerekir.
divmod
söylemek zorunda kalmamak için var[i / 3, i % 3]
.