Python 为什么';t TicTacToe minimax工作正常
我很久以前做过这个Tictatoe,今天决定添加AI选项。然而,对于我来说没有明显的原因,它就是不工作,即使我从工作的javascript代码转换它 删除了一些与问题函数无关的函数Python 为什么';t TicTacToe minimax工作正常,python,tic-tac-toe,minimax,Python,Tic Tac Toe,Minimax,我很久以前做过这个Tictatoe,今天决定添加AI选项。然而,对于我来说没有明显的原因,它就是不工作,即使我从工作的javascript代码转换它 删除了一些与问题函数无关的函数 def minimax(self, is_max): if self.won(): return 1 if self.winner() == 'O' else -1 if self.draw(): return 0
def minimax(self, is_max):
if self.won():
return 1 if self.winner() == 'O' else -1
if self.draw():
return 0
if is_max:
best_score = float('-inf')
for i in range(9):
if self.valid_move(i):
self.board[i] = 'O'
score = self.minimax(False)
self.board[i] = ' '
best_score = max(best_score, score)
return best_score
else:
best_score = float('inf')
for i in range(9):
if self.valid_move(i):
self.board[i] = 'X'
score = self.minimax(True)
self.board[i] = ' '
best_score = min(best_score, score)
return best_score
def best_move(self):
best_score = float('-inf')
move = 0
for i in range(9):
if self.valid_move(i):
self.board[i] = 'O'
score = self.minimax(False)
self.board[i] = ' '
if score > best_score:
best_score = score
move = i
return move
def move_ai(self):
self.board[self.best_move()] = self.current_player()
self.current_move += 1
self.show_board()
你会添加你引用的原始JavaScript代码吗?“不起作用”不是一个好的问题陈述。嗯,它没有做出正确的动作。我真的说不出更多的了这是我提到的js代码。我已经对一些部分进行了更改,因为我必须使其与我的代码兼容,但是结构是相同的。您是否进行过任何调试?我建议你读书。