如何在保留python国际象棋中的移动堆栈的同时翻转棋盘?

End*_*ow8 5 python chess

我正在使用 Python Chess 在 Python 中使用 NegaScout 实现国际象棋引擎。我发现了一个方便的功能chess.Board.apply_mirror(),它可以反转板子,使黑色变为白色,反之亦然。这对 Negamax 和 NegaScout 至关重要。但是,这会删除移动堆栈。我可以手动反转移动堆栈中的所有移动,将其复制到列表中,反转每个移动并将其分配回翻转板,但是有没有更简单的方法来做到这一点?我需要从树的底部(文本移动)开始的位置的完整历史记录,以便为我的树搜索倒带移动。

小智 0

您不需要用 NegaMax 翻转板子,而只需反转评估即可。检查我的 Lichess BOT中的Negamax 实现