codecombat極客戰記森林61-70通關代碼

codecombat極客戰記森林61-70通關代碼

python代碼

61.罪與罰

在這裏插入圖片描述

# 看起來食人魔酋長正在偷你的寶石啊!
# 指揮兩門火炮攻擊敵人達成目標。

while True:
    item = hero.findNearestItem()
    if item:
        itempos = item.pos.x + " " + item.pos.y
        hero.say("item at :" + itempos)
    enemy = hero.findNearestEnemy()
    if enemy:
        enemyPos = enemy.pos.x + " " + enemy.pos.y
        hero.say("enemy at : " + enemyPos)
        
    # 現在你遇到糖衣炮彈了
    # 爲什麼不把糖衣也吃掉呢?
    # 找到道具的位置並且
    # 說出火炮將要攻擊的目標。
    

62.返回AGRIPPA

def enemyInRange(enemy):
    # 如果敵人少於距離5個,返回一個true值
    dis = hero.distanceTo(enemy)
    if dis < 5:
        return True
    else:
        return False

def 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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章