小心陷阱
这里我没有使用技能,你可以编写使用技能来攻击敌人
# 如果你试图攻击一个远处的敌人,你的英雄会忽略掉所有的旗子而朝它冲过去。
# 你需要确保你只攻击靠近自己的敌人!
while True:
flag = hero.findFlag()
enemy = hero.findNearestEnemy()
if flag:
# 去拔旗子。
hero.pickUpFlag(flag)
hero.say("我应该去把旗子拔起来。")
elif enemy:
# 仅当敌人的距离小于10米时才攻击。
distance = hero.distanceTo(enemy)
if distance < 10:
hero.attack(enemy)
通信尸体(信号旗标)
# 你可以使用旗子来选择不同的策略
# 在这关,绿色旗子代表你要移动到旗子处。
# 遇到黑旗就意味着你要劈开旗子
# The doctor will heal you at the Red X
while True:
green = hero.findFlag("green")
black = hero.findFlag("black")
nearest = hero.findNearestEnemy()
if green:
hero.pickUpFlag(green)
elif black and hero.isReady("cleave"):
hero.pickUpFlag(black)
# 劈斩!
hero.cleave(nearest)
elif nearest and hero.distanceTo(nearest) < 10:
# 攻击!
hero.attack(nearest)
坚持通过森林
# 使用旗子加入战斗或者撤退。
# 如果你失败了,再次点击 提交 生成新的随机敌人,再来一次!
# You'll want at least 300 health, if not more.
while True:
enemy = hero.findNearestEnemy()
flag = hero.findFlag()
if flag:
# 捡起旗子。
hero.pickUpFlag(flag)
elif enemy:
# 开打!
hero.attack(enemy)
丰富的觅食
# 使用 if 和 else if 来处理任何情况
# 放置它来防御敌人,收集金币
# 确保你从物品商店买到伟大的盔甲,建议400点以上的健康。
while True:
flag = hero.findFlag()
enemy = hero.findNearestEnemy()
item = hero.findNearestItem()
if flag:
# 当我发现旗子的时候发生了什么?
hero.pickUpFlag(flag)
elif enemy:
# 当我找到敌人的时候发生了什么?
hero.attack(enemy)
elif item:
# 当我找到一个物品的时候,发生了什么?
hero.moveXY(item.pos.x, item.pos.y)
强攻农舍
注意控制好旗子,才可以过关!
# 士兵会慢慢到达,但是食人魔会淹没他们。
# 基本的攻击循环是不能够让你活下来的
while True:
flag = hero.findFlag()
enemy = hero.findNearestEnemy()
if flag:
#hero.say("也许我应该用旗子干点什么?")
hero.pickUpFlag(flag)
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.say("好无聊")
hero.attack(enemy)
不公平的支持
# 偷偷穿过森林,伏击萨满。
# 听从指挥官Craig 小心接近中的敌人。
# 放置旗子后,按提交。
while True:
flag = hero.findFlag()
enemy = hero.findNearestEnemy()
if flag:
# 捡起旗子。
hero.pickUpFlag(flag)
elif enemy:
# 攻击视野内的敌人。
hero.attack(enemy)
战术时机(挑战关卡)
代码建议自行编写,此处仅供参考。
# 帮助前线。
# 如果任何人溜,放回一个旗子。
while True:
flag = hero.findFlag()
enemy = hero.findNearestEnemy()
if flag:
hero.pickUpFlag(flag)
if enemy:
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.attack(enemy)
林间空地末日(挑战关卡)
代码建议自行编写,此处仅供参考。
需要智商的一关,我勒个去,注意卡视角,弓箭手打你时会有击退效果,注意控制好地形。
另外使用战士职业的时候,装备也需要豪华点,这里截图供大家参考。舍不得宝石过不了关啊。。。。
# 一波食人魔靠近,使用旗子赢得战役!
while True:
flag = hero.findFlag()
enemy = hero.findNearestEnemy()
if enemy:
distance = hero.distanceTo(enemy)
if distance < 3:
hero.shield()
else:
hero.attack(enemy)
if flag:
hero.pickUpFlag(flag)
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.attack(enemy)
保卫要塞(挑战关卡)
试着使用定义函数去编写代码!!并使用旗子控制好你的英雄!!
# 杀掉所有进攻的食人魔
# 使用旗子远离那些危险的食人魔
def attack(enemy):
enemy = hero.findNearestEnemy()
if enemy:
distance = hero.distanceTo(enemy)
if distance < 3:
hero.shield()
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.attack(enemy)
while True:
flag = hero.findFlag()
if flag:
hero.pickUpFlag(flag)
hero.attack(enemy)
else:
enemy = hero.findNearestEnemy()
attack(enemy)
碎天裂地(挑战关卡)
so easy
hero.buildXY("fire-trap", 35, 35)
hero.buildXY("fire-trap", 35, 29)
hero.moveXY(15, 31)
hero.moveXY(72, 32)
说明:由于本章的内容较多,关卡也较多,这里我们练习了一些挑战关卡给大家做示例,挑战关卡都是些自行编写代码及发挥你自己创意的关卡,建议大家都去自己动脑编写,我的代码仅供参考而已!!!
到此,第二章的所有内容就结束了!!!
还剩余挑战关卡:平原森林保卫战、森林花园、失落的维京、濒危树林之战、竞技场、野外逃亡、
边远宝藏、巨石森林、超级大的小食人魔 攻击、野马我们后续来补充代码示例。由于都是些挑战关卡,建议大家如果觉得难,可以暂且跳过,学习了后面的内容在来尝试此类关卡!!!!
下一章我们将进行第三章沙漠关卡的学习!!!!学习的内容会进一步难度提升的!!!加油加油,坚持坚持!!!!