将国际象棋引擎与C ++ GUI程序连接起来

我想将我的C ++程序与国际象棋引擎连接起来,以便为敌人提供AI。 在我的c ++程序中 - >用户会做出一个动作(例如A2A3) - >我会把这个字符串传给棋盘引擎 - >引擎会更新棋盘 - >引擎会启动AI来计算敌方移动 - >引擎将敌人的移动作为字符串(例如A7A6)传递给我的C ++程序 - >等等

我读到,为了让我的程序与国际象棋引擎进行交互,我必须启动chess_engine.exe文件并通过标准输入/输出与它交换命令。

你能告诉我,我的Visual Studio程序代码如何启动一个exe文件并与它交换命令? 任何示例?

先谢谢你。


为此,您需要使用引擎启动新线程或进程。 通常情况下,您将通过启动一个新的流程来完成此任务,其中引擎的主要功能将成为新流程的起点。

现在,您的应用程序中将有两个进程。 您的GUI应用程序是父进程,而引擎本身将是子进程。 您需要通过标准的国际象棋UCI协议与引擎进行通信。 您可以管理输入和输出到子进程(这是引擎)。

假设你想开始一个新的游戏。 您将发出以下UCI命令:

isready
ucinewgame

请仔细阅读UCI规范。 你可以在Google上找到它。

链接地址: http://www.djcxy.com/p/84651.html

上一篇: Connect Chess Engine with C++ GUI Program

下一篇: console to GUI