-1

我正在构建一个下棋机器人,所以在从簧片开关传感器获得 1 和 0 的 8x8 矩阵后,如何将此矩阵转换为 FEN 字符串,以便将其发送到 Stockfish 引擎?

此外,我在编写 Python 脚本时遇到了很多麻烦,该脚本可以通过 UCI 协议将 FEN 字符串作为输入发送并获得下一个最佳动作。

截至目前,我并不真正关心移动验证/检查检查伙伴/促销。我只是想采取下一步行动。

我已经浏览了很多关于 UCI 协议/API、Stockfish 引擎工作以及使用 python 编程等的链接,但没有一个真正帮助我。

我会很感激任何人的帮助!

4

1 回答 1

1

首先尝试通过控制台控制 Stockfish。然后,您了解要发送给它的内容以及下一步的格式将如何。

开始鱼。然后在控制台输入:

启动 UCI 模式:

uci

通过 FEN-String 设置要计算的位置,例如:

position fen N7/P3pk1p/3p2p1/r4p2/8/4b2B/4P1KP/1R6 w - - 0 34

打印板进行调试(d是stockfish 命令,不在UCI 协议中):

d

计算 3s 时间内的最佳移动:

go movetime 3000

现在,您可以在不同的搜索深度获得最佳移动。从最后一个字符串中获取分数和移动的名称。

0请提供更多信息's 和's的董事会如何1拥有这些作品的信息。关于哪个方块在哪个方块上的信息在哪里?然后我可以帮你翻译成 FEN-String。

于 2018-07-09T08:40:39.753 回答