首頁: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。
請多指教。
-----轉載請注明出處,否則作者有權追究法律責任。