关于进攻时增加建筑最大建造数量的问题
本帖最后由 12345677 于 2015-2-15 23:24 编辑(defrule
(building-type-count farm less-than 64)
(can-build farm)
=>
(build farm)
)
这条代码限制普通状态下农田最大数量64
然后我想让Ai在发动进攻时
(defrule
(game-time > 0)
(defend-soldier-count >= 0)
=>
(attack-now)
(enable-timer 10 300)
(disable-self)
)
(defrule
(timer-triggered 10)
(defend-soldier-count >= 80)
=>
(set-strategic-number sn-number-attack-groups 8)
(set-strategic-number sn-maximum-attack-group-size 40)
(set-strategic-number sn-minimum-attack-group-size 5)
(set-strategic-number sn-percent-attack-soldiers 50)
(set-strategic-number sn-maximum-town-size 255)
(set-strategic-number sn-mill-max-distance 255)
(set-strategic-number sn-camp-max-distance 255)
(chat-local-to-self "——attack——")
(disable-timer 10)
(enable-timer 10 80)
)
农田最大数量增至128
然后再进攻失败时
(defrule
(game-time > 0)
(defend-soldier-count >= 0)
=>
(attack-now)
(enable-timer 10 300)
(disable-self)
)
(defrule
(timer-triggered 10)
(defend-soldier-count < 80)
=>
(set-strategic-number sn-number-attack-groups 0)
(set-strategic-number sn-maximum-attack-group-size 0)
(set-strategic-number sn-minimum-attack-group-size 0)
(set-strategic-number sn-percent-attack-soldiers 0)
(set-strategic-number sn-maximum-town-size 16)
(set-strategic-number sn-mill-max-distance 16)
(set-strategic-number sn-camp-max-distance 16)
(chat-local-to-self "——defend——")
(disable-timer 10)
(enable-timer 10 80)
)
恢复回64
该怎么办?
你的代碼全未使用目標變數,自然不可能針對攻擊狀況來調整農田數量。
為了達到此一目的,你可以先自行定義一個稱為 farm-amount 的目標欄常數,開局時用 set-goal 設為 64 ,發動進攻時用 up-modify-goal 改為 128 ,進攻失敗時用up-modify-goal 改回 64 ,另外建造規則裡的 building-type-count 動作也得改成 up-object-type-count 才能調用目標數值作為判定數量。 狂~劇情狂 发表于 2015-2-17 07:41
你的代碼全未使用目標變數,自然不可能針對攻擊狀況來調整農田數量。
為了達到此一目的,你可以先自行定 ...
已用其他方法解决 不过还是谢谢了 欢迎来玩我的新Ai——上帝之鞭
页:
[1]