翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 2166|回复: 2

[求助] 请教关于boom关于常量的应用

 关闭 [复制链接]

9

主题

0

精华

104

积分

男爵

耕战
17
鹰币
5
天龙币
0
回帖
5
附庸关系0
发表于 2008-6-23 21:37:17 | 显示全部楼层 |阅读模式
他在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这种关系?
回复

使用道具 举报

313

主题

19

精华

3万

积分

圣徒

耕战
4847
鹰币
80
天龙币
0
回帖
6213

特级翔鹰勋章一级嘉禾勋章一级帝国勋章第一届火箭筒杯最佳战役第一届火箭筒杯最佳平衡第一届火箭筒杯最佳娱乐雄鹰勋章

附庸关系0
发表于 2008-6-25 18:56:45 | 显示全部楼层
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,还可以是其他数字,范围我不记得了)
天行健,君子以自强不息   
    地势坤,君子以厚德载物
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-11-22 18:12 , Processed in 0.119228 second(s), 37 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表