一窍不开 发表于 2015-12-26 17:58:17

帝国大厅抢答活动[第七期]

本帖最后由 一窍不开 于 2015-12-27 14:19 编辑

帝国大厅抢答活动[第七期]
为了圣诞节,本版主特意赶出了一期抢答活动!本期主题是AI,尽你所能抢答吧!
具体活动规则请看https://www.hawkaoe.net/bbs/thread-135094-1-1.html

答题开始!!!切记不要编辑,可以连贴!

注:带颜色的字为已经被回答的正确答案

【简单题】
[酸甜苦辣咸]1.包含AI语句的AI文件格式为?
.per

[欧阳龙]2.AI中定义规则的格式为?
(defrule
(某个条件)
=>
(某个效果)
)

[不科学的小默默]3.AI中设定目标数值的语句为?
(set-goal 目标 数值)


【中等题】
4.众所周知,AI可以读取其它AI文件,其它的AI文件又可以再读取其它AI文件,请问这样的嵌套最多可以做几次?

[欧阳龙]5.请问下面的语句有什么问题吗?
(defconst gl-pop 1000)
(defrule
(true)
=>
(set-goal gl-pop 200)
(disable-self)
)(defconst gl-pop 1000)数值太大

[欧阳龙]6.试写出如果游戏时间超过10分钟,村民数还小于10就立刻投降的语句。
(defrule
    (game-time > 600)
    (up-object-type-count c: villager < 10)
=>
    (resign)
)



【困难题】
7.除了使用目标作为变量以外,还有什么更好的方法能够根据游戏开局设定来定义变量吗?

8.试写出侦察到敌人城镇中心后,向盟友在敌人TC位置发信号的语句。

9.玩家有3个英雄单位,其中一个英雄的技能如下:
“如果一个其它英雄的生命值低于其总生命值的30%,则自己向其靠近时移动速度加快。”
试问如何做到此效果。



【突破题】
10.假如敌人围家,并且没有用到城门,试写出破围的语句。不用考虑用什么兵种破围。

暂定奖励128gz1280yb

四个圈 发表于 2015-12-26 18:51:14

per

酸甜苦辣咸 发表于 2015-12-26 19:07:42

1,per 2,记事本

欧阳龙 发表于 2015-12-27 11:29:27

2.(defrule
(某个条件)
=>
(某个效果)
)

欧阳龙 发表于 2015-12-27 11:32:08

3.(defconst 常数名称 数值)

不科学的小默默 发表于 2015-12-27 12:11:23

关于第三题,(defconst 常数名称 数值) ,这个是“设定目标数值”,还是“定义数值的名称”?如果我没记错的话,设定目标数值是 set-goal 语句。

另外吐槽下第五题,1000 对应的是哪个资源?

欧阳龙 发表于 2015-12-27 12:53:46

6.
(defrule
    (game-time > 600)
    (up-object-type-count c: villager < 10)
=>
    (resign)
)

欧阳龙 发表于 2015-12-27 13:01:09

4.3次

欧阳龙 发表于 2015-12-27 13:32:47

5.(defconst gl-pop 1000)数值太大

Heresy 无相君 发表于 2015-12-27 13:51:57

感觉不开最近玩上了LOL

欧阳龙 发表于 2015-12-27 14:35:45

4.无数次

欧阳龙 发表于 2015-12-27 16:32:03

9.英雄1 ID0 拥有技能英雄2 ID1
英雄3 ID2
(defconst gl-h2dqx 200) ;
(defconst gl-h3dqx 300)
(defconst gl-h2x 400) ;
(defconst gl-h3x 401)

(defrule
          (true)
=>
          (up-set-target-by-id c: 1)
          (up-get-object-data 11 gl-h2x)
          (up-modify-goal gl-h2x c:%* 35)
          (up-get-object-data 10 gl-h2dqx)

)
(defrule
          (up-compare-goal gl-h2dqx g:< gl-h2x)
=>
          (cc-add-resource gold 1)         
          (chat-to-all "英雄2血量小于最大生命值30%" )
)



(defrule
          (true)
=>
          (up-set-target-by-id c: 2)
          (up-get-object-data 11 gl-h3x)
          (up-modify-goal gl-h2x c:%* 35)
          (up-get-object-data 10 gl-h3dqx)

)
(defrule
          (up-compare-goal gl-h3dqx g:< gl-h3x)
=>
          (cc-add-resource wood 1)         
          (chat-to-all "英雄3血量小于最大生命值30%" )
)

触发1 条件 堆积资源 金子1
靠近目标英雄2
效果 进贡金子1给盖亚
加速
开启触发2
开启触发3
关闭触发4

触发2 效果 关闭触发1

触发3 条件 靠近目标英雄2(反条件)
开启触发1
开启触发4
减速


触发4 条件 堆积资源 木材1
靠近目标英雄3
效果 进贡木材1给盖亚
加速
开启触发5
开启触发6
关闭触发1

触发5 效果 关闭触发4

触发6 条件 靠近目标英雄3(反条件)
开启触发4
开启触发1
减速


触发1 4开
所有触发都不循环

一窍不开 发表于 2015-12-27 16:38:35

欧阳龙 发表于 2015-12-27 16:32
9.

想简单了,向其靠近指的是走近这个过程,而不是两个英雄在一起。

比如受伤的英雄在有技能英雄的左边,则他向左走速度会额外增加,向右走则仍是正常速度,跟两者之间的距离并无关系。
页: [1]
查看完整版本: 帝国大厅抢答活动[第七期]