为竞技场gui写下棋引擎

时间:2011-03-21 00:15:09

标签: java c++ user-interface chess

我有兴趣为竞技场GUI http://www.playwitharena.com实现国际象棋引擎。您是否知道有关为了使引擎在Arena中可用而必须遵循的具体指导方针的某些信息(即,您可以从Arena中实际导入引擎)。

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

此外,如果您知道任何其他可以导入引擎的棋盘GUI,特别是如果引擎可以用java编写,请说明。

2 个答案:

答案 0 :(得分:4)

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

对于您可能选择定位的所有其他国际象棋引擎GUI,情况大致相同(有很多,您可以通过将chess gui添加到Google中找到几个):他们都了解WinBoard或UCI或两者兼而有之,他们并不关心引擎的实现语言。

答案 1 :(得分:3)

编写可在舞台上使用的引擎非常简单。您的引擎只需要读取和写入标准输入和输出流(stdin和stdout)。您的引擎需要与特定协议进行通信,您可以在UCI协议之间进行选择,这更容易实现,但只有一对接口或更多接口支持的xBoard协议支持在Windows和Linux上都有。

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