请教关于boom关于常量的应用
他在boom II的per文件里设定了一系列的常量(defconst GOAL-ADDRESOURCE 5)
(defconst GOAL-SPECIAL-AID 27)
然后在他每个民族的per文件里面做了应用。
(defrule
(difficulty <=hard)
(goal GOAL-SPECIAL-AID 1)
(goal GOAL-ADDRESOURCE 1)
(gold-amount < 60)
(unit-type-count-total villager > 10)
(dropsite-min-distance gold < 4)
=>
(cc-add-resource gold 80)
)
请问红色两端文字是怎么在事实条件里面运作的? 他们已经被定义了5 和 27了,为何后面还加1? 是代表ture和false这种关系? GOAL语句我还没用过,类比计时器,按照我的猜测理解(最近比较懒,没有测试的习惯了。。。:P )
定义是指 (defconst GOAL-ADDRESOURCE 5)
定义GOAL-ADDRESOURCE表示5,即令5=GOAL-ADDRESOURCE。
定义的作用只是让目标代号更好记,编写的时候更直观。
而(goal GOAL-ADDRESOURCE 1)也可以改为(goal 5 1),只是前者一目了然,后者比较容易混乱。
而条件中的意思就是
“当GOAL的状态为1时”
而GOAL的状态可以用规则设置,印象中好像是set-goal,比如(set-goal 5 2),那么(goal 5 1)就是fals,(set-goal 5 1)后就是true了。(另外,goal不只是1、2,还可以是其他数字,范围我不记得了)
页:
[1]