我正在阅读 UCI 协议的规范,但不幸的是,我找不到对其某些命令或用例的适当解释。
1)我不明白这ucinewgame
是什么意思。根据文档,它“开始了一个新游戏”,但是如果 UCI 引擎是无状态的,那么它到底意味着什么,因此是否有新游戏并不重要?
2) 与客户端一起玩更好,"position startpos moves ..."
每次添加一个动作时发送到引擎(即从一开始就记录所有动作)还是"position <fenstring>"
只反映当前位置?我知道第二种情况更紧凑,但是保留所有先前的动作有什么好处吗?
3)如果我想让几个玩家同时与引擎对战(每个玩家自己的游戏),我是否需要为他们每个人都有一个引擎实例?我知道当引擎忙于一个玩家时,它无法处理另一个玩家的移动,但除此之外,我认为这里没有问题,我只需要在引擎准备好时从一个选定的玩家发送位置,并且暂时阻止其他玩家?话说回来,ucinewgame
这里有事吗?