我正在 Unity 中开发国际象棋游戏。我不是自己编写人工智能,而是使用名为MadChess的国际象棋引擎。
我下载了引擎的源代码(用 C# 编写)以及名为“ MadChess.exe ”的可执行文件(基本上是一个命令提示符,通过它我们可以按照UCI协议与引擎对话)
我之前实际上没有将国际象棋引擎与统一项目集成,也无法在网上找到很多关于如何做到这一点的资源。
方法 1: 最初,我在 Unity 中编写了一个 C# 脚本,它创建了一个单独的进程来与“ MadChess.exe ”通信,但后来我意识到这种方法有问题。这是因为当我将 Unity 项目构建为 Windows 的独立应用程序时,它依赖于位于我的 PC 上的物理“ MadChess.exe ”文件,即它不会构建所有内容(我的 Unity 项目代码以及国际象棋引擎代码) 一起成为一个可执行的应用程序。这在我看来是错误的,只能通过创建游戏安装程序来纠正,该安装程序将“ MadChess.exe ”文件与我的主要 Unity 代码一起注入。
方法 2: 现在,我正在尝试浏览 MadChess 国际象棋引擎项目的源代码,并基本上创建国际象棋引擎项目的 .dll 文件,我计划将其用作我的 Unity 项目中的插件。我最终会通过我在 Unity 中的 C# 代码与他们交互。这是正确的方法吗?
我被困在这个问题上大约一个星期左右,但仍然无法找到明确的方法。我不想再花一个星期才意识到我做错了。即使我从一开始就错了,请告诉我。我只是想将国际象棋引擎与我的 Unity 项目集成。如果有人有任何建议或想法,或者之前有人这样做过,请指导我。我将感激不尽。谢谢你一直陪我到这里。