codecombat極客戰記森林21-40通關代碼

codecombat極客戰記森林21-40通關代碼

所有代碼均使用python編寫

21.強攻ATETH塔

在這裏插入圖片描述

hero.moveXY(55, 14)
hero.moveXY(92, 18)

# 在紅色的 X 位置建造一個火焰陷阱
hero.buildXY("fire-trap", 92, 18)
# 撤退到木的 X 位置,來避免傷害。
hero.moveXY(55, 14)
# 等僱傭兵發現閃亮的火焰陷阱
# 進入營地,放置火焰陷阱在紅色的 X 位置
hero.moveXY(89, 52)
hero.buildXY("fire-trap", 89, 52)
hero.moveXY(60, 62)
hero.buildXY("fire-trap", 60, 62)
# 衝你的部隊喊撤退(提示:使用 say 命令, "Retreat!")
hero.say("Retreat!")
# 逃回到左邊的木的 X 位置
hero.moveXY(-17, 38)

22.森林劈斬者

在這裏插入圖片描述

23.盾擊

在這裏插入圖片描述

# 用shield盾牌和cleave順勢斬在兩波進攻中活下來
# 如果cleave順勢斬沒有準備好,就用你的shield盾牌技能。
# 你將會需要至少142健康值來保證活下來
while True:
    enemy = hero.findNearestEnemy()
    ready = hero.isReady("cleave")
    if ready:
        hero.cleave(enemy)
    else:
        hero.shield()
        #hero.attack(enemy)

24.BURLS教你學布爾

在這裏插入圖片描述

# 布爾值要麼是真 True 要麼是假 False
# == 表示 ”等於嗎“?
# 所以, A == B 是在問:”A 是等於 B嗎?“
# 答案會是一個布爾值!
# 如果太難了,點一下”Hints“ 提示按鈕!

# 問題: 2 == 3 
# 回答正確的答案:
hero.say(False)

# 問題: 3 == 3
# 回答 True 真 或者 False 假 2:
hero.say(True)

# 問題: "Three" == 3
# 回答 True 真 或者 False 假 3:
hero.say(False)

# 問題: "Three" == "Three"
# 回答 True 真 或者 False 假 4:
hero.say(True)

# 問題: 1 + 2 == 3
# 回答 True 真 或者 False 假 5:
hero.say(True)

25.奧法盟友在這裏插入圖片描述

# 拿下那些獸人 
while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        if hero.isReady("cleave"):
            hero.cleave(enemy)
        else:
            
            hero.attack(enemy)

26.死亡之觸

在這裏插入圖片描述

# 在短距離中釋放你的『吸取生命』技能。
# 使用你的法丈在遠距離攻擊。

while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        distance = hero.distanceTo(enemy)
        if distance < 15:
            # 在敵人裏釋放『吸取生命』技能。
            hero.cast("drain-life", enemy)
        else:
            # 使用你的盟友攻擊敵人。
            hero.attack(enemy)

27.修骨者

在這裏插入圖片描述

# 拯救盟友的士兵來突圍
while True:
    if hero.canCast("regen"):
        bernardDistance = hero.distanceTo("Bernard")
        if bernardDistance < 10:
            # Bernard需要治療!
            hero.cast("regen", "Bernard")
        
        # 使用『if』和『distanceTo』來治療 "Chandra"
        # 如果她小於10米的距離。
        changraDistance = hero.distanceTo("Chandra")
        if changraDistance < 10:
            # Bernard需要治療!
            hero.cast("regen", "Chandra")
        
    else:
        # 如果你沒有執行 regen,使用 if 和 distanceTo 
        # 來攻擊那些小於一定距離的敵人 hero.attackRange.
        enemy = hero.findNearestEnemy()
        
        if enemy:
            hero.attack(enemy)
        

28.矮人蜂擁而至

在這裏插入圖片描述

while True:
    # 檢查與最近敵人的距離
    enemy = hero.findNearestEnemy()
    # 如果它接近到10m以內,對它使用cleave!
    distance = hero.distanceTo(enemy)
    if distance < 10:
        hero.cleave(enemy)
    # 否則,攻擊某名字的寶箱(“Chest”)
    else:
        hero.attack("Chest")

29.邊地僵局

在這裏插入圖片描述

# 矮人正在攻擊!
# 攻擊會有規律的一波波襲來。
# 可以的話,使用劈斬來清理大量敵人。

while True:
    enemy = hero.findNearestEnemy()
    # 使用帶有‘isReady’的if語句來檢查 “cleave”
    if hero.isReady("cleave"):
        hero.cleave(enemy)
        # 劈斬!
    # 否則,如果 cleave 還沒準備好的話:
    else:
        
        # 攻擊最近的食人魔!
        hero.attack(enemy)

30.測距儀

在這裏插入圖片描述

# 食人魔正在森林中巡視!
# 使用distanceTo方法找到敵人在哪。
# 說出與每個敵人的距離,告訴大炮向哪開火!

enemy1 = "Gort"
distance1 = hero.distanceTo(enemy1)
hero.say(distance1)

enemy2 = "Smasher"
distance2 = hero.distanceTo(enemy2)
# 說出distance2變量!
hero.say(distance2)
# 找到並說出與剩餘敵人之間的距離:
# 不要攻擊友方!
friend3 = "Charles"

enemy4 = "Gorgnub"
distance3 = hero.distanceTo(enemy4)
hero.say(distance3)

31.eise之戰

在這裏插入圖片描述

# 劈斬正在10秒冷卻中。
# 使用 else 語句在恢復時防守。

while True:
    enemy = hero.findNearestEnemy()
    if hero.isReady("cleave"):
        hero.cleave()
    # 寫個 else: 當 “cleave” 沒有準備好時去做點什麼。
    else:
        
        # 確保攻擊了敵人:
        hero.attack(enemy)

32.邊地僵局A

在這裏插入圖片描述

# 矮人正在攻擊!
# 攻擊會有規律的一波波襲來。
# 可以的話,使用劈斬來清理大量敵人。

while True:
    enemy = hero.findNearestEnemy()
    # 使用帶有‘isReady’的if語句來檢查 “cleave”
    ready = hero.isReady("cleave")
    if ready:
        # 劈斬!
        hero.cleave(enemy)
        #hero.say("大招來了,一刀秒你們")
    # 否則,如果 cleave 還沒準備好的話:
    else:
        # 攻擊最近的食人魔。
        hero.attack(enemy)

33.邊地僵局B

在這裏插入圖片描述

# 矮人正在攻擊!
# 攻擊會有規律的一波波襲來。
# 可以的話,使用劈斬來清理大量敵人。

while True:
    enemy = hero.findNearestEnemy()
    # 使用帶有‘isReady’的if語句來檢查 “cleave”
    if enemy:
        if hero.isReady("cleave"):
            hero.cleave(enemy)
        # 劈斬!
        
    # 否則,如果 cleave 還沒準備好的話:
        else:
            hero.attack(enemy)
        # 攻擊最近的食人魔!

34.收割小食人魔

在這裏插入圖片描述

# 剷除所有遺留的小食人魔
# 確保你有足夠的護甲。
while True:
    enemy = hero.findNearestEnemy()
    ready = hero.isReady("cleave")
    if ready:
        hero.cleave(enemy)
    else:
        hero.attack(enemy)

35.敏捷的匕首

在這裏插入圖片描述

# 長距離用你的弓,短距離用匕首
while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        distance = hero.distanceTo(enemy)
        if distance < hero.throwRange:
            # 向敵人扔你的匕首
            hero.throw(enemy)
            
        # else:
            # 用你的弓攻擊敵人
            # hero.attack(enemy)

36.彈片

在這裏插入圖片描述

# 使用炸藥幹掉食人魔
# 然後用你的弓幹掉他們

while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        if hero.isReady("throw"):
            distance = hero.distanceTo(enemy)
            # 如果食人魔距離多於15米的時候,扔炸藥炸他
            # 使用 if 來比較距離和15
            if distance > 15:
                hero.throw(enemy)
            # 使用 else 來攻擊它如果你不能夠炸它
           
        else:
            hero.attack(enemy)

37.LONG-RANGE DIVISION在這裏插入圖片描述

# Destroy the mines!
# Use `say` to call out the range to the mines.
# Use division to calculate the range.
enemy = hero.findNearestEnemy()
distanceToEnemy = hero.distanceTo(enemy)
# Say first Range: distanceToEnemy divided by 3
hero.say(distanceToEnemy/3)
hero.say("Fire!")
# Say second range: distanceToEnemy divided by 1.5
hero.say(distanceToEnemy/1.5)
hero.say("Fire!")

# Say these things for motivation. Really. Trust us.
hero.say("Woo hoo!")
hero.say("Here we go!")
hero.say("Charge!!")

# Now, use a while-true loop to attack the enemies.
while True:
    enemy = hero.findNearestEnemy()
    hero.attack(enemy)

38.帖身護衛

在這裏插入圖片描述

while True:
    enemy = hero.findNearestEnemy()
    distance = hero.distanceTo(enemy)
    if distance < 10:
        # 如果他們與農民太近,就攻擊他們
        hero.attack(enemy)
        pass
    # 否則的話,呆在農民旁邊!使用else
    else:
        hero.moveXY(40, 37)

39.發狂的小矮人v

# 又一個寶箱等待英雄打開!
# 攻擊寶箱來打開它。
# 有些食人魔矮人可不會呆呆地站着捱打!
# 當食人魔離你太近時,你得學着保護你自己
while True:
    enemy = hero.findNearestEnemy()
    distance = hero.distanceTo(enemy)
    if hero.isReady("cleave"):
        # 如果劈斬就緒,優先使用劈斬:
        hero.cleave(enemy)
    elif distance < 5:
        # 攻擊靠近並離你最近的食人魔矮人
        hero.attack(enemy)
    else:
        # 否則,嘗試打開寶箱:
        # Use the name of the chest to attack: "Chest".
        hero.attack("Chest")

40.躍火林中

在這裏插入圖片描述

# 在這關,別碰惡魔石!往其他方向移動避開它們!
while True:
    evilstone = hero.findNearestItem()
    if evilstone:
        pos = evilstone.pos
        if pos.x == 34:
            # 如果惡魔石在左邊,走到右邊。
            hero.moveXY(46,22)
            pass
        else:
            # 如果惡魔石在右邊,走到左邊。
            hero.moveXY(34,22)
            pass
    else:
        # 如果沒有惡魔石,那就去到中間。
        hero.moveXY(40, 22)
        pass
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章