荆棘农场
#fire-trap 火焰陷阱,会爆炸,威力极强!!
# 在村口巡逻。
# 当你见到食人魔,建造一个火焰陷阱"fire-trap"。
# 不要让任何农民受到伤害。
while True:
hero.moveXY(43, 50)
top = hero.findNearestEnemy()
if top:
hero.buildXY("fire-trap", 43, 50)
hero.moveXY(25, 34)
left = hero.findNearestEnemy()
# 检查左边是否存在。
if left:
# 如果敌人存在,在25, 34处建造一个陷阱。
hero.buildXY("fire-trap", 25, 34)
hero.moveXY(43, 20)
# 为下面的敌人设置一个变量。
down = hero.findNearestEnemy()
# 检查下面是否有敌人存在。
if down:
# 建造一个陷阱,如果敌人存在的话。
hero.buildXY("fire-trap", 43, 20)
如果你觉得left不适合,你可以从新定义你的敌人方位变量,例如:leftEnemy,rightEnemy
强攻 Areth 塔
注意:本关的你的初始位置和敌人营地的2个红叉位置被敌人挡住了,这时就需要你先进行代码调试(也就是点击运行按钮,之后确认代码无误后在提交),让敌人走开,你即可找到你的初始位置和营地红叉的位置。
# The ogres are holed up in their camp
# Break through their defenses with a calculated strike!
hero.moveXY(55, 14)
hero.moveXY(92, 9)
# 在红色的 X 位置建造一个火焰陷阱
hero.buildXY("fire-trap", 93, 19)
# 撤退到木的 X 位置,来避免伤害。
hero.moveXY(55, 14)
# 等雇佣兵发现闪亮的火焰陷阱
# 进入营地,放置火焰陷阱在红色的 X 位置
hero.buildXY("fire-trap", 90, 53)
hero.buildXY("fire-trap", 60, 63)
# 冲你的部队喊撤退(提示:使用 say 命令, "Retreat!")
hero.say("Retreat")
# 逃回到左边的木的 X 位置
hero.moveXY(11, 28)
食人魔营地
# 如果有敌人,那么就攻击它
# 否则,攻击宝箱
while True:
# 使用if/else语句
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
hero.attack("Chest")
注意if else的用法,此关卡也可以用如下代码实现。
# 如果有敌人,那么就攻击它
# 否则,攻击宝箱
while True:
# 使用if/else语句
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
else:
hero.attack("Chest")
森林劈斩者
本节你将装备上新的装备,然后你拥有了技能,终于不用在枯燥的平砍了。注意技能的准备时间!!如果不会用,去函数菜单找到你的方法,查看学习如何使用技能。
# 尽可能经常使用你的新技能“cleave”
hero.moveXY(23, 23)
while True:
enemy = hero.findNearestEnemy()
if hero.isReady("cleave"):
# 用“Cleave”干掉敌人!
hero.cleave(enemy)
pass
else:
# 否则(如果“cleave”还没准备好),就用你的普通攻击
hero.attack(enemy)
pass
Peek-a-boom!(坐看爆破!)
# Build traps on the path when the hero sees a munchkin!
while True:
enemy = hero.findNearestEnemy()
if enemy:
# Build a "fire-trap" at the Red X (41, 24)
hero.buildXY("fire-trap", 41, 24)
pass
# Add an else below to move back to the clearing
else:
# Move to the Wooden X (19, 19)
hero.moveXY(19, 19)
竞技场《角斗场》(挑战关卡,代码可根据你的能力自行编写)
注意:AI的装备和血量是和你一样的,但是AI没有你的智商高,我们使用技能来干掉他!
# 在决斗中击败敌人的英雄!
while True:
# 在一个循环中找到并攻击敌人
# 当你完成的时候,提交到多人天梯系统中!
enemy = hero.findNearestEnemy()
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.attack(enemy)
边地僵局
# 矮人正在攻击!
# 攻击会有规律的一波波袭来。
# 可以的话,使用劈斩来清理大量敌人。
while True:
enemy = hero.findNearestEnemy()
# 使用带有‘isReady’的if语句来检查 “cleave”
if hero.isReady("cleave"):
# 劈斩!
hero.cleave(enemy)
# 否则,如果 cleave 还没准备好的话:
else:
# 攻击最近的食人魔!
hero.attack(enemy)
else之战
# 劈斩正在10秒冷却中。
# 使用 else 语句在恢复时防守。
while True:
enemy = hero.findNearestEnemy()
if hero.isReady("cleave"):
hero.cleave(enemy)
# 写个 else: 当 “cleave” 没有准备好时去做点什么。
else:
# 确保攻击了敌人:
hero.attack(enemy)