mxzwt2 发表于 2016-6-25 10:08:19

hold-koh-ruin这个ai条件语句是什么意思

rt

条顿武士 发表于 2016-6-25 16:16:27

这应该是你看的那个AI作者自定义的常数。

建议楼主先看完版区置顶的AI教程。

Defconst (定义常数) 指令


这个指令可以创建一个使用者定义常数。有关更多关于定义常数的资料,可以查阅本文件的《条件性读取与使用者定义常数》章节。



句法:



(defconst <常数名称> <数量>)



<常数名称> 是一个由使用者自行选择的名称。定义常数的时候,最好但不一定要利用类似于系统所使用的命名模式(如以破折号「-」分隔的字词)。



<数量> 是指一个符合 C++ 语言短整数类型的整数。(对于非程序工作人员来说,这表示其数目不能小于 -32768 或大于 32767。)



以下的例子定义了一个代表黑暗时代村民数量的常数,名为「num-dark-age-villagers」:



(defconst num-dark-age-villagers 22)



而以下的规则便有用到这个使用者定义常数:



(defrule

      (civilian-population < num-dark-age-villagers)

      (can-train villager)

=>

      (train villager)

)



在为 <目标> 、 <目标编号> 、<定时器编号>、 <语音指令值> 等命名时,使用者定义常数是很方便的。如果不使用常数,上述参数都只会成为一堆没有名称的数值。



提示:在修改人工智能时,如果您把所有「defconst」定义常数指令聚集在同一个档案中,您可以很容易的透过改变定义常数本身代表的值来进行编辑,而不用对档案中所有的有关变量都作出修改。在上述的例子中,如果您在您的人工智能经常有用到「num-dark-age-villagers」这个使用者定义常数,您便只需改变首个「defconst」定义常数指令的值便可以了。

mxzwt2 发表于 2016-6-25 18:57:53

条顿武士 发表于 2016-6-25 16:16
这应该是你看的那个AI作者自定义的常数。

建议楼主先看完版区置顶的AI教程。

但是我看到的是(hold-koh-ruin)这种形式表现的,难道定义常数的数值为1,就返回真,为0就返回假吗

条顿武士 发表于 2016-6-25 19:23:05

mxzwt2 发表于 2016-6-25 18:57
但是我看到的是(hold-koh-ruin)这种形式表现的,难道定义常数的数值为1,就返回真,为0就返回假吗

具体哪个ai,前后文发一下

mxzwt2 发表于 2016-6-26 11:21:10

就是这个了

狂~劇情狂 发表于 2016-11-25 15:36:11

KOH 即佔山為王/至尊王遊戲模式, 代表控制該模式地圖中央的紀念物
页: [1]
查看完整版本: hold-koh-ruin这个ai条件语句是什么意思