================问个AI的问题!============
(defrule(or (building-type-count town-center < 1)
(unit-type-count-total villager < 4))
(unit-type-count-total villager < 8)
(soldier-count <= 2)
(players-population any-enemy >= 15)
这是AzKing里面关于投降条件判断的一部分,对这个条件里面的那个“or”用法不是很理解!谁能帮忙翻译一下这几句是什么意思?谢了!!
这个知道,但觉得奇怪的就是为什么or是放在两个并列条件的前面,而不是中间的。
还有,如果有好几个条件并列,比如
假如
(我有10个骑兵)或者(我有10个骑射手)或者(我有10个火枪手)
则
(进攻)
应该怎么写?
我试了,好像
or(...)
(...)
(...)
和
or(...)
or(...)
(...)
都不行,总是出错,要怎么表示?
还是要自己来回答……
以下是引用shavy在2003-12-30 4:26:20的发言:这个知道,但觉得奇怪的就是为什么or是放在两个并列条件的前面,而不是中间的。
还有,如果有好几个条件并列,比如
假如
(我有10个骑兵)或者(我有10个骑射手)或者(我有10个火枪手)
则
(进攻)
应该怎么写?
我试了,好像
or(...)
(...)
(...)
和
or(...)
or(...)
(...)
都不行,总是出错,要怎么表示?
要这样写:
or(or(有10个骑兵)
(10个骑射手)
)
(有10个火枪手)
[此贴子已经被作者于2004-1-1 20:18:32编辑过]
and有什么实际应用吗? 逻辑关系呀,or是或,and是和。你引的那个是Azking关于认输的判断,如果自己没TC了只有少于8个的农民,或有TC却是只有少于4个农民,自己的兵只有少于2人,而敌人有15以上的兵就让认输。。。说得我都绕进去了。。。 and比如(defrule (有0个兵) (有0个农)=》(作弊10000000000000黄金))不用and不也是要求两个都是真才实现么? 那样用不用and都一样. and 的作用是用在比较重复的条件里, 比如(or (条件一) (and (条件二) (条件三)))这种是或条件一满足, 若条件一不满足就要条件二和条件三都满足才行.. 24好麻烦哦
页:
[1]