[Python] Codecombat 攻略 地牢 Kithgard (1-22關)


首頁:https://cn.codecombat.com/play
語言:Python

第一界面:地牢 Kithgard(22關)
時間:1-3小時
內容:語法、方法、參數、字符串、循環、變量等
網頁:https://cn.codecombat.com/play/dungeon

 

闖關:
第1關:地牢 Kithgard
子網頁:https://cn.codecombat.com/play/level/dungeons-of-kithgard?

# 向寶石進發。
# 小心撞牆!
# 在下面輸入你的代碼。

hero.moveRight()
hero.moveDown()
hero.moveRight()

 

第2關:深藏的寶石
子網頁:https://cn.codecombat.com/play/level/gems-in-the-deep?

# 利用你的移動命令收集所有寶石。

hero.moveRight()
hero.moveDown()
hero.moveUp()
hero.moveUp()
hero.moveRight()

 

第3關:幽靈守衛
子網頁:https://cn.codecombat.com/play/level/shadow-guard?

# 避開食人魔的視線,奪取寶石。

hero.moveRight()
hero.moveUp()
hero.moveRight()
hero.moveDown()
hero.moveRight()

 

第4關:不詳的征兆
子網頁:https://cn.codecombat.com/play/level/signs-and-portents?

# 你的目標是保護地圖右邊的人存活。
# 你不需要和食人巨怪打,只管逃命!你的盟友會保護你。

hero.moveRight()
hero.moveRight()
hero.moveUp()
hero.moveRight()
hero.moveRight()
hero.moveRight()
hero.moveDown()
hero.moveRight()
hero.moveDown()
hero.moveRight()
hero.moveRight()

 

第5關:真實姓名
子網頁:https://cn.codecombat.com/play/level/true-names?

# 抵抗Brak and Treg!
# 你必須攻擊小食人魔兩次。

hero.moveRight()
hero.attack("Brak")
hero.attack("Brak")
hero.moveRight()
hero.attack("Treg")
hero.attack("Treg")
hero.moveRight()
hero.moveRight()

 

第6關:高舉之劍
子網頁:https://cn.codecombat.com/play/level/the-raised-sword?

# 打敗食人魔
# 記住,每個攻擊兩次。

hero.attack("Rig")
hero.attack("Rig")
hero.attack("Gurt")
hero.attack("Gurt")
hero.attack("Ack")
hero.attack("Ack")
hero.moveRight()

 

第7關:注解監獄
子網頁:https://cn.codecombat.com/play/level/cell-commentary?

hero.say("密碼是什么?")
# 使用"say()"函式來說出密碼.
# 密碼是: "Achoo"

hero.say("Achoo")
hero.moveUp()
hero.moveUp()

 

第8關:kithguard的圖書館管理員
子網頁:https://cn.codecombat.com/play/level/kithgard-librarian?

# 你需要圖書館大門的開門密碼!
# 密碼就在幫助指導頁面中!
# 請點擊代碼窗口下的藍色“幫助”按鈕來打開關卡的幫助頁面。
# 大多數關卡的幫助頁面中有詳細的幫助信息。如果你在關卡中遇到了困難,請點擊“幫助”按鈕!

hero.moveRight()
hero.say("我還不知道密碼呢!") #
hero.say("Hush")
hero.moveRight()

 

第9關:焰中舞動
子網頁:https://cn.codecombat.com/play/level/fire-dancing?

# 代碼通常按寫下的順序執行
# 循環多次重復一個代碼塊
# 按Tab或4個空格把移動指令縮進在循環內部

while True:
    hero.moveRight()
    # 以下注釋展示如何制造循環
    hero.moveLeft()

 

第10關:循環又循環
子網頁:https://cn.codecombat.com/play/level/loop-da-loop?

# 在 while true 里的代碼會永遠重復!

while True:
    # 走起
    hero.moveRight()
    # 動起來
    hero.moveUp()
    # 左走
    hero.moveLeft()
    # 右走
    hero.moveDown()

 

第11關:鬧鬼迷宮
子網頁:https://cn.codecombat.com/play/level/haunted-kithmaze?

# “loop” 能夠讓你更輕易地重復一件事

while True:
    # 在這里添加命令來重復。
    hero.moveRight()
    hero.moveRight()
    hero.moveUp()
    hero.moveUp()

 

第12關:再次迷宮歷險
子網頁:https://cn.codecombat.com/play/level/the-second-kithmaze?

# 使用loop循環穿越迷宮!

while True:
    hero.moveRight()
    hero.moveUp()
    hero.moveRight()
    hero.moveDown()

 

第13關:恐懼之門
子網頁:https://cn.codecombat.com/play/level/dread-door?

# 攻擊大門(Door)
# 需要攻擊很多次,請使用loop循環

while True:
    hero.attack("Door")

 

第14關:已知敵人
子網頁:https://cn.codecombat.com/play/level/known-enemy?

# 你可以用名稱標簽作為變量。

enemy1 = "Kratt"
enemy2 = "Gert"
enemy3 = "Ursa"

hero.attack(enemy1)
hero.attack(enemy1)
hero.attack(enemy2) hero.attack(enemy2)
hero.attack(enemy3) hero.attack(enemy3)

 

第15關:名字大師
子網頁:https://cn.codecombat.com/play/level/master-of-names?

# 你的英雄不知道這些敵人的名字!
# 這眼鏡給了你 “findNearestEnemy” 尋找最近敵人的能力。

enemy1 = hero.findNearestEnemy()
hero.attack(enemy1)
hero.attack(enemy1)

enemy2 = hero.findNearestEnemy()
hero.attack(enemy2)
hero.attack(enemy2)

enemy3 = hero.findNearestEnemy()
hero.attack(enemy3)
hero.attack(enemy3)

 

第16關:近戰
子網頁:https://cn.codecombat.com/play/level/closing-the-distance?

hero.moveRight()

# 通過上一個關卡,你應該能認識這個。
enemy1 = hero.findNearestEnemy()
# 現在,攻擊那個變量,
hero.attack(enemy1)
hero.attack(enemy1)
hero.moveRight()

enemy2 = hero.findNearestEnemy()
hero.attack(enemy2)
hero.moveRight()

 

第17關:矮人騷亂
子網頁:https://cn.codecombat.com/play/level/a-mayhem-of-munchkins?

# 在 while true循環里,使用 findNearestEnemy() 並攻擊!

while True:
    enemy = hero.findNearestEnemy()
    hero.attack(enemy)

 

第18關:最后的Kithman族
子網頁:https://cn.codecombat.com/play/level/the-final-kithmaze?

# 使用loop循環移動並攻擊目標

while True:
    hero.moveRight()
    hero.moveUp()
    enemy = hero.findNearestEnemy()
    hero.attack(enemy)
    hero.attack(enemy)
    hero.moveRight()
    hero.moveDown()
    hero.moveDown()
    hero.moveUp()

 

第19關:Kithgard之門
子網頁:https://cn.codecombat.com/play/level/kithgard-gates?

# 建造三個柵欄來隔離獸人!

hero.moveDown()
hero.buildXY("fence", 36, 34)
hero.buildXY("fence", 36, 30)
hero.buildXY("fence", 36, 27)
hero.moveRight()
hero.moveRight()
hero.moveRight()

 

【競技AI】第20關:洞穴求生
子網頁:https://cn.codecombat.com/play/level/cavern-survival?

# 生存時間比敵人的英雄長!
while True: # 制定自己的戰略。有創意! enemy = hero.findNearestEnemy() hero.attack(enemy) if hero.distanceTo(enemy) < 3: while hero.isReady("cleave"): hero.cleave(enemy)

 

【挑戰升級】第21關:Kithgard斗毆
子網頁:https://cn.codecombat.com/play/level/kithgard-brawl?

第一次:

# 在一波波的食人魔攻擊中活下來。
# 如果你贏了,本關會變得更難,但給更多的獎勵。
# 如果你輸了,你必須等一天之后才能重新提交。
# 每次提交都會獲得新的隨機種子。

while True:
    enemy = hero.findNearestEnemy()
    item = hero.findNearestItem()
    while item:
        hero.moveXY(item.pos.x, item.pos.y)
        break
    if enemy:
        if hero.isReady("cleave"):
            hero.cleave(enemy)
        else:
            hero.attack(enemy) 

第二次:【未通關】

# 在一波波的食人魔攻擊中活下來。
# 如果你贏了,本關會變得更難,但給更多的獎勵。
# 如果你輸了,你必須等一天之后才能重新提交。
# 每次提交都會獲得新的隨機種子。

while True:
    flag = hero.findFlag("green")
    enemy=hero.findNearestEnemy()
    item = hero.findNearestItem()
    if flag:
        hero.pickUpFlag(flag)
    if item:
        hero.moveXY(item.pos.x, item.pos.y)
    if enemy:
        if hero.isReady("cleave"):
            hero.cleave(enemy)
        elif hero.isReady("bash"):
            hero.bash(enemy)
        else:
            hero.attack(enemy)

 

【直接升級】第22關:Kithgard精通(每過段時間英雄的路線會更新,所以每個用戶不完全一樣)
子網頁:https://cn.codecombat.com/play/level/kithgard-mastery? 

# 使用移動命令到達迷宮的終點。
# 計算你收集到的寶石數量,然后在到達火球陷阱時通過說出當前的寶石數量來使陷阱失效。
# 在起點的地方會有一只烏鴉告訴你一個密碼。在門的附近說出該密碼來開門。
# 當你靠近食人魔時殺死它。
# 你可以在需要的時候使用loop來重復所有的指令。
# 如果你通過了這個關卡,你就可以直接跳到邊遠地區的森林!

while True:
    hero.moveRight()
    hero.moveUp(2)
    enemy = hero.findNearestEnemy() 
    hero.attack(enemy)
    hero.moveLeft()
    hero.moveUp(2)
    hero.moveRight(2)
    hero.moveUp()
    hero.moveDown()
    hero.moveRight()
    hero.moveDown(2)
    hero.say("1")
    hero.say("2")
    hero.moveDown(2)
    hero.say("Swordfish")
    hero.moveRight(2)

 

初學Python。

請多指教。

 

-----轉載請注明出處,否則作者有權追究法律責任。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM