codecombat极客战记森林61-70通关代码
python代码
61.罪与罚
# 看起来食人魔酋长正在偷你的宝石啊!
# 指挥两门火炮攻击敌人达成目标。while True:item = hero.findNearestItem()if item:itempos = item.pos.x + " " + item.pos.yhero.say("item at :" + itempos)enemy = hero.findNearestEnemy()if enemy:enemyPos = enemy.pos.x + " " + enemy.pos.yhero.say("enemy at : " + enemyPos)# 现在你遇到糖衣炮弹了# 为什么不把糖衣也吃掉呢?# 找到道具的位置并且# 说出火炮将要攻击的目标。
62.返回AGRIPPA
def enemyInRange(enemy):# 如果敌人少于距离5个,返回一个true值dis = hero.distanceTo(enemy)if dis < 5:return Trueelse:return Falsedef cleaveOrAttack(enemy):if hero.isReady('cleave'):hero.cleave(enemy)else:hero.attack(enemy)while True:enemy = hero.findNearestEnemy()if enemy:# 调用 enemyInRange 检查敌人的距离。if enemyInRange(enemy):cleaveOrAttack(enemy)
63.好伙伴的名字A
# 农民想知道宠物的名字。# 使用这个函数作为"hear"事件的处理函数。
def sayName(event):# 宠物会在函数调用时按顺序说这些。pet.say("我名叫狂兽。")pet.say("不过我的朋友们叫我毛球。")# 使用pet.on("eventName", functionName)来添加事件监听函数给宠物
# 在这里使用"hear" sayName及pet.on()
pet.on("hear", sayName)# 你这次不需要说任何东西!
# 农民会进行交谈。
64.好伙伴的名字B
# 宠物需要向英雄和农民问好。# 使用这个函数作为"hear"事件的处理函数:
def sayHello(event):# 宠物在说你好:pet.say("致敬")# 使用宠物的.on("eventType", functionName)方法.
# 这一关里,宠物需要在听到声音后运行sayHello
pet.on("hear", sayHello)
# 那么,问候宠物,等待回应。
hero.say("你好,朋友!")
65.博士猫咪
# 教你的宠物回答问题!# 很幸运,所有的答案都是"2"
def sayTwo(event):# 使用pet.say()来回答"2"pet.say("2")# 使用pet:on(),通过sayTwo来处理"hear"事件
pet.on("hear", sayTwo)
# 现在休息并观看表演吧!
hero.say("一加一等于…?")
hero.say("x^3 - 6x^2 + 12x - 8 = 0. x等于多少?")
hero.say("火星有多少卫星?")
66.好伙伴的名字
# 我们需要知道新宠物的名字。# 把这个函数用作宠物 "hear" 事件的处理函数。
def onHear(event):# 不要更改这个函数pet.say("喵呜~ 汪 喵呜~")pet.say("汪 汪")pet.say("喵呜~")pet.say("喵呜~")pet.say("喵呜~ 汪 喵呜~ 喵呜~")# 使用 “the pet.on(eventType,eventHandler) 方法”
# 指派onHear函数来处理"hear"事件。
pet.on("hear" , onHear )# 这必须在 "pet.on" 的后面。
hero.say("伙计,你叫什么名字?")
hero.say("能重复一次吗?")
67.宠物小测试
# 编写一个事件处理函数,名为onHear# 完成onHear函数
def onHear(event):# 宠物需要在onHear中说点什么。pet.say("可以")pet.say("不是")pet.say("5")pet.say("好象是的")pet.say("不告诉你")
pet.on("hear", onHear)
hero.say("能听懂我的话吗?")
hero.say("你是美洲狮吗?")
hero.say("你多大啦?")
# 再问两个问题。
hero.say("你是宠物吗")
hero.say("你在那里?")
68.看门狗
# 你无法帮助农民过河。
# 不过,你的宠物做得到!
# 将你的狼调教成看门狗。def onSpawn(event):while True:# 宠物一样可以发现敌人。enemy = pet.findNearestEnemy()# 如果有敌人:if enemy:# 然后让宠物说点什么:pet.say("注意,敌袭敌袭")pet.on("spawn", onSpawn);
69.漫漫长路
# 移动到右边# 补全这个函数:
def onSpawn(event):# 在 while-true 循环里:while True:# 使用hero.findNearestItem()item = hero.findNearestItem()# 如果有物品:if item:# 使用pet.fetch(item)来拿取物品。pet.fetch(item)# 使用pet.on()来将onSpawn指派给"spawn"事件
pet.on("spawn", onSpawn)
hero.moveXY(78, 35)
70.空投
# 拿起刀剑,保护村庄。def onSpawn (event):while True:item = hero.findNearestItem()# 如果存在的话,宠物应该获取该物品:if item:pet.fetch(item)# 为宠物的“spawn”分配onSpawn功能。
pet.on("spawn", onSpawn)while True:# Guard the left passage:enemy = hero.findNearestEnemy()if enemy:hero.attack(enemy)