Trying to find the best move, as well as the score. I got my program to correctly return the rating of the game, but I want it to return the course too. How can I change my code so that it does? Like this and. Look at my bad code here , it returns Noneif the game is over, there should be a transition instead.
def alphabeta(game_state, alpha, beta, our_turn=True):
if game_state.is_gameover():
return game_state.score()
if our_turn:
score = -9999
for move in game_state.get_possible_moves():
child = game_state.get_next_state(move, True)
temp_max = alphabeta(child, alpha, beta, False)
if temp_max > score:
score = temp_max
alpha = max(alpha, score)
if beta <= alpha:
break
return score
else:
score = 9999
for move in game_state.get_possible_moves():
child = game_state.get_next_state(move, False)
temp_min = alphabeta(child, alpha, beta, True)
if temp_min < score:
score = temp_min
beta = min(beta, score)
if beta <= alpha:
break
return score
source
share