作者defsrisars (阿转)
看板java
标题[问题] AI的interface应该要如何结合和运行呢
时间Wed Jan 18 02:15:59 2017
如题
我想要达到的功能是
我写一个象棋AI的interface
就是我写一个主控程式(包含象棋的规则、画面等等...)
然後有interface可以接两个别人写的不同的AI
然後可以让这两个AI互相决斗
但是实在不太清楚这样的程式应该要怎麽跑
因为AI1移动之後,把移动的资讯给AI2
在这期间AI2应该是wait的状态 反之亦然
请问这样是一定要使用到thread吗?
还是有什麽方式去跑
然後接别人写完的AI(使用我的interface)
跟我的主控程式结合的话,一定要把他的原始程式码放进来我的程式里一起跑吗?
还有其他的方法吗?
我爬文以後其实跟很久以前有位大大举办的踩地雷AI比赛很像
但是不太理解其中原理
(程式怎麽结合在一起、实际上怎麽跑...)
请问有大大可以解释一下吗...google也找不太到答案QQ
谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.137.119.181
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1484676962.A.479.html
※ 编辑: defsrisars (114.137.119.181), 01/18/2017 02:16:20
1F:→ ssccg: 先回你的几个问题,在AI思考中,还是要接受例如暂停、终止01/18 07:33
2F:→ ssccg: 之类的指令,所以至少通讯和思考就要分两个thread了01/18 07:33
3F:→ ssccg: 再来interface的部分通常AI engine是一个独立的执行档,中01/18 07:35
4F:→ ssccg: 间看你要用什麽方式去沟通,socket、pipe...etc01/18 07:36
5F:→ ssccg: 沟通方式有些现有比较主流的规格: Winboard、UCI(UCCI、USI01/18 09:22
6F:→ ssccg: ),好处是可以跟现有的GUI、engine互通,通讯部分可能可以01/18 09:25
7F:→ ssccg: 找到opensource的直接用。缺点是对架构设计(GUI负责哪些部01/18 09:26
8F:→ ssccg: 分、engine负责哪些会有些限制),自己评估看看吧01/18 09:26
9F:→ ssccg: 把程式码全部包成一支程式其实是比较单纯的,就呼叫API就好01/18 09:28
非常谢谢大大的回覆
给了我很多方向 而且有对整体运行架构有比较了解的感觉
我会再就这些关键字去学习了解尝试看看~~
非常感谢
※ 编辑: defsrisars (1.168.68.160), 01/18/2017 10:47:34
10F:→ pttworld: 中国象棋表示使用来自西洋象棋的FEN串。01/18 11:21
11F:→ pttworld: FEN串载明黑子或红子,可以跑不同AI,关键字已给。 01/18 11:22
12F:→ y3k: eventDriven就可以了吧01/18 14:39
非常感谢QAQ
我马上都喂狗研究一下
※ 编辑: defsrisars (223.141.99.183), 01/18/2017 15:48:39