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

标签 python chess

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

最佳答案

您不需要使用 NegaMax 翻转电路板,而只需反转评估即可。查询 my Negamax implementationmy Lichess BOT .

关于python - 如何在保留python国际象棋中的移动堆栈的同时翻转棋盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65661613/

相关文章:

Java Unicode 字符宽度

python - 使用 matplotlib 绘制点数图

python - 我怎样才能只得到 plt.imread 的 rgb?

java - Python程序转换成Java程序

java - 国际象棋,找到对角线移动的最后位置的算法

C 国际象棋游戏 - 棋盘黑色部分的字母无法正确显示

python - django详细信息()有一个意外的关键字参数 'pk'

python - 使用 Python 的 LDA - 输入文件

algorithm - 在在线国际象棋游戏中,如何最大程度地减少时间控制滞后的影响?

java - <Java> 国际象棋棋子移动问题