我想將我的C++程序與國際象棋引擎連接起來,以便讓敵人擁有AI。 在我的C++程序中 - >用戶會做出一個動作(比如A2A3) - >我會把這個字符串傳給棋盤引擎 - >引擎會更新棋盤 - >引擎會啓動AI來計算敵方移動 - >引擎會給敵人的移動作爲字符串(例如A7A6)到我的C++程序 - >等用C++ GUI程序連接國際象棋引擎
我讀到,爲了讓我的程序與國際象棋引擎進行交互,我必須啓動chess_engine.exe文件並交換命令它通過標準輸入/輸出。
你能告訴我,我的Visual Studio程序代碼如何啓動一個exe文件並與它交換命令?任何示例?
預先感謝您。
哪個操作系統?或者你使用C++ 11還是Boost?對於Windows,請參閱https://msdn.microsoft.com/en-us/library/windows/desktop/ms682499%28v=vs.85%29.aspx – sashoalm
您應該使用UCI國際象棋界面,它基本上使用管道stdio/stdout在前端和引擎之間交換信息。 – trojanfoe
是的,據我所知UCI是一套規則/命令來交換我的應用程序和國際象棋引擎。所以我需要通過我的應用程序打開.exe引擎,然後通過std I/O與引擎交換命令或者我可以使用現成的代碼,它允許我指定國際象棋引擎文件,然後使用就緒函數,如 - > pass_command(a2a3)? – mariosbikos