1

我有兴趣为竞技场 GUI http://www.playwitharena.com实现一个国际象棋引擎。您是否知道一些关于您必须遵循的特定准则的信息,以使引擎在 Arena 中可用(即,您可以实际从 Arena 导入引擎)。

您还认为可以使用 Java 实现 Arena 国际象棋引擎还是我需要使用 C++

另外,如果您知道任何其他可以导入引擎的板 GUI,特别是如果引擎可以用 java 编写,请说出来。

4

2 回答 2

4

您可以用任何语言编写引擎并让它与 Arena 一起使用,前提是它使用 WinBoard 或 UCI 协议。这两者都涉及让您的引擎(作为单独的进程运行)输入和输出纯文本。你可以用 C++、Java、Visual Basic、COBOL、Forth 或任何你喜欢的东西来编写它。(注意:我不建议尝试用 COBOL 编写国际象棋引擎。)

对于您可能选择作为目标的所有其他国际象棋引擎 GUI,情况大致相同(有很多,您只需chess gui输入 Google 就可以找到几个):它们都了解 WinBoard 或 UCI 或两者,但它们不关心引擎是用什么语言实现的。

于 2011-03-21T00:39:46.203 回答
3

编写一个可以在竞技场中使用的引擎真的很容易。您的引擎只需要读取和写入标准输入和输出流(stdin 和 stdout)。您的引擎需要使用特定的协议,您可以在UCI协议之间进行选择,该协议更易于实现,但仅由几个接口支持,或者xBoard协议在 Windows 和 Linux 上均受更多接口支持。

我更喜欢 xboard 协议,因为它使用更广泛,并且允许引擎更多控制(例如它允许引擎使用它自己的打开书).

于 2011-03-21T12:07:55.533 回答