(点击图片进入关卡)
熟练的炼金术士可以改变战斗的流程
简介
炼金药水是我们的秘密优势。 当你的英雄正在战斗时, 你的宠物应该等着炼金术士的命令 "Fetch" 并且在听到它时向主人公传出一剂药水。
使用事件处理参数 event 来获取所说的消息。 它包含在 event.message 属性中。 当信息不是 "Fetch"时,你的宠物应该回到红色标记。 使用 pet.fetch(item) 来带上一件物品给英雄。
默认代码
# 等着炼金师的命令去拿药水。
# 宠物事件的事件处理程序 "hear"。
def onHear(event):
# 找到最近的药水。
potion = pet.findNearestByType("potion")
message = event.message
# 如果事件的消息是 "Fetch"
# 让宠物拿取药水。
# 其他(对于任何其他消息):
# 将宠物归还红色标记。
pet.on("hear", onHear)
# 您不必更改下面的代码。
while True:
enemy = hero.findNearest(hero.findEnemies())
if enemy:
hero.attack(enemy)
else:
hero.moveXY(40, 34)
概览
事件包括有关导致事件处理程序触发的事件的数据。
对于 "hear" 事件,第一个参数(通常命名为 event )包含有关 speaker 是谁以及他们说了什么message 的有价值的信息。
例如:
def onHear(event):
who = event.speaker # This will be Omarn
what = event.message # This will be "Drink this!"
pet.say(who + " said " + what) # Omarn said Drink this!
pet.say("Squawk!") # Squawk!
pet.on("hear", onHear)
# Then Omarn says: "Drink this!"
炼金术解法
# 等着炼金师的命令去拿药水。
# 宠物事件的事件处理程序 "hear"。
def onHear(event):
# 找到最近的药水。
potion = pet.findNearestByType("potion")
message = event.message
# 如果事件的消息是 "Fetch"
if message == "Fetch":
# 让宠物拿取药水。
pet.fetch(potion)
# 其他(对于任何其他消息):
else:
# 将宠物归还红色标记。
pet.moveXY(54, 34)
pet.on("hear", onHear)
# 您不必更改下面的代码。
while True:
enemy = hero.findNearest(hero.findEnemies())
if enemy:
hero.attack(enemy)
else:
hero.moveXY(40, 34)
本攻略发于极客战记官方教学栏目,原文地址为: