Codecombat复赛闯关攻略
生活随笔
收集整理的這篇文章主要介紹了
Codecombat复赛闯关攻略
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一、前言
- 二、具體闖關流程(1~23)
- 第一關
- 第二關
- 第三關
- 第四關
- 第五關
- 第六關
- 第七關
- 第八關
- 第九關
- 第十關
- 第十一關
- 第十二關
- 第十三關
- 第十四關
- 第十五關
- 第十六關
- 第十七關
- 第十八關
- 第十九關
- 第二十關
- 第二十一關
- 第二十二關
- (1)主關卡
- (2)練習A
- (3)練習B
- 第二十三關
- 具體闖關流程(24~45)
- 第二十四關
- 第二十五關
- 第二十六關
- 第二十七關
- 第二十八關
- 第二十九關
- 第三十關
- 第三十一關
- 第三十二關
- 第三十三關
- 第三十四關
- 第三十五關
- 第三十六關
- 第三十七關
- 第三十八關
- 第三十九關
- 第四十關
- 第四十一關
- 第四十二關
- 第四十三關
- 第四十四關
- 第四十五關
一、前言
前面一直在努力學習,學習了codecombat新一期的計算機科學課程,涉及到了許多其他的東西。以前的移動函數有5個,但是復賽就1個;以前的攻擊函數只有1個,但是復賽有2個。
關卡也比原來多了,學習的東西自然不同。
下面是具體的闖關過程及源代碼。
二、具體闖關流程(1~23)
第一關
# 在標記上建造兩段圍欄來保護村民。 # 把鼠標懸停在地圖上,以得到X,Y坐標。hero.buildXY("fence", 40, 52) hero.buildXY("fence", 40, 20)第二關
# 到小路的盡頭去,并在那兒修一個柵欄。 # 利用你的 moveXY(x, y)坐標移動功能。 hero.moveXY(36, 60) hero.moveXY(37, 13) hero.buildXY("fence", 72, 25)第三關
# 英雄完全糊涂了! # 糾正路徑,別讓其踩到地雷。hero.moveXY(11,37) hero.moveXY(35, 25) hero.moveXY(40, 56) hero.moveXY(77, 58)第四關
# 區域內有一名獵頭者! # 在森林附近跑動,以躲避他的視線while True:# 用 moveXY 在森林中保持移動,以確保存活。# 不要忘記縮進。hero.moveXY(56, 44)hero.moveXY(40, 56)hero.moveXY(24, 44)hero.moveXY(24, 24)hero.moveXY(40, 12)hero.moveXY(56, 24)第五關
# 通過林地,務必留意危險! # 這些森林小屋中可能有食人魔!hero.moveXY(19, 33) enemy = hero.findNearestEnemy() # if語句會檢查某變量有沒有食人魔。 if enemy:hero.attack(enemy)hero.attack(enemy)hero.moveXY(49, 51) enemy = hero.findNearestEnemy() if enemy:# 在這里攻擊敵人:hero.attack(enemy)hero.attack(enemy)# `pass`語句是占位符,不做任何事情,它只幫助結束if語句。passhero.moveXY(58, 14) enemy = hero.findNearestEnemy() # 使用if語句檢查敵人是否存在: if enemy:# 如果敵人存在,就攻擊它:hero.attack(enemy)hero.attack(enemy)第六關
# 記得敵人可能還不存在。 while True:enemy = hero.findNearestEnemy()if enemy:# 如果有敵人,攻擊它!hero.attack(enemy)hero.attack(enemy)pass第七關
# 記得敵人可能還不存在。 while True:enemy = hero.findNearestEnemy()# 如果有敵人,攻擊它!if enemy:hero.attack(enemy)hero.attack(enemy)第八關
# 在食人魔的營地中打敗它們!while True:enemy = hero.findNearestEnemy()# 使用一個 “if” 語句去檢查是否有敵人存在:if enemy:# 攻擊敵人,如果存在的話:hero.attack(enemy)hero.attack(enemy)第九關
# 在村口巡邏。 # 如果發現敵人,就攻擊它。 while True:hero.moveXY(35, 34)leftEnemy = hero.findNearestEnemy()if leftEnemy:hero.attack(leftEnemy)hero.attack(leftEnemy)# 現在移動到右側入口。hero.moveXY(60, 31)# 再次使用findNearestEnemy,來找到右側的敵人。enemy = hero.findNearestEnemy()if enemy:hero.attack(enemy)hero.attack(enemy)# 如果有右側的敵人,使用"if"來攻擊。hero.moveXY(35, 34)第十關
# 在村口巡邏。 # 當你見到食人魔時,建造一個火焰陷阱"fire-trap"。 # 不要讓任何農民受到誤傷。while True:hero.moveXY(43, 50)top = hero.findNearestEnemy()if top:hero.buildXY("fire-trap", 43, 50)hero.moveXY(25, 34)left = hero.findNearestEnemy()# 檢查`left`是否存在。top = hero.findNearestEnemy()if top:hero.buildXY("fire-trap", 25, 35)top = hero.findNearestEnemy()if top:hero.buildXY("fire-trap", 43,20 )hero.moveXY(25, 34)left = hero.findNearestEnemy()if left:# 在25,34處建造一個陷阱,如果敵人存在的話。hero.buildXY("fire-trap", 25, 34)hero.moveXY(43, 20)# 為下面的敵人設置一個變量。enemy = hero.findNearestEnemy()# 檢查下面是否有敵人存在。if enemy:# 在43,20處建造一個陷阱,如果敵人存在的話。hero.buildXY("fire-trap", 43, 20)第十一關
# 待在中間防守!while True:enemy = hero.findNearestEnemy()if enemy:# 亦或主動出擊…hero.attack(enemy)hero.attack(enemy)passelse:# …亦或回到你的陣地防守。hero.moveXY(40, 35)pass第十二關
# 如果有敵人,那么就攻擊它。 # 否則,攻擊寶箱!while True:# 使用if/else語句。enemy = hero.findNearestEnemy()if enemy:hero.attack(enemy)hero.attack(enemy)else:hero.attack("Chest")第十三關
# 盡可能多地使用你的新技能"cleave"。hero.moveXY(23, 23) while True:enemy = hero.findNearestEnemy()if hero.isReady("cleave"):# 用“Cleave”干掉敵人!hero.cleave(enemy)passelse:# 否則(如果“cleave”還沒準備好),就用普通攻擊。hero.attack(enemy)pass第十四關
# 劈斬正在10秒冷卻中。 # 使用 else 語句在恢復時防守。while True:enemy = hero.findNearestEnemy()if hero.isReady("cleave"):hero.cleave()# 寫個 else: 當"cleave"沒有準備好時做點別的什么。else:# 確保攻擊敵人:hero.attack(enemy)第十五關
# 矮人正在攻擊! # 攻擊會有規律的一波波襲來。 # 可以的話,使用劈斬來清理大量敵人。while True:enemy = hero.findNearestEnemy()# 使用帶有‘isReady’的if語句來檢查 "cleave":if hero.isReady("cleave"):# 劈斬!hero.cleave(enemy)# 否則,如果 cleave 還沒準備好的話:else:# 攻擊最近的食人魔!hero.attack(enemy)第十六關
# 食人魔正在森林中巡視! # 使用distanceTo方法找到敵人在哪。 # 說出與每個敵人的距離,告訴大炮向哪開火!enemy1 = "Gort" distance1 = hero.distanceTo(enemy1) hero.say(distance1)enemy2 = "Smasher" distance2 = hero.distanceTo(enemy2) # 說出distance2變量! hero.say(distance2) # 不要攻擊友方! friend3 = "Charles"# 最后的食人魔。 enemy4 = "Gorgnub" # 確定并說出與enemy4之間的距離: distance3 = hero.distanceTo(enemy4) hero.say(distance3)第十七關
while True:enemy = hero.findNearestEnemy()distance = hero.distanceTo(enemy)if distance < 10:# 如果他們與農民太近,就攻擊他們hero.attack(enemy)pass# 否則的話,呆在農民旁邊!使用elseelse:hero.moveXY(40, 37)第十八關
while True:# 檢查與最近敵人的距離。nearestEnemy = hero.findNearestEnemy()distance = hero.distanceTo(nearestEnemy)# 如果它接近到10m以內,使用cleave!if distance <= 10:if nearestEnemy:hero.cleave(nearestEnemy)# 否則,根據名字攻擊"Chest"(寶箱)。else:hero.attack("Chest")第十九關
# 又一個寶箱等待英雄打開! # 攻擊寶箱來打開它。 # 有些食人魔矮人可不會呆呆地站著,看著你攻擊! # 當食人魔離你太近時,你得學著保護你自己while True:enemy = hero.findNearestEnemy()distance = hero.distanceTo(enemy)if hero.isReady("cleave"):# 如果劈斬就緒,優先使用劈斬:hero.cleave(enemy)elif distance < 5:# 如果離你最近的食人魔矮人離得太近,攻擊它:hero.attack(enemy)else:# 否則,嘗試打開寶箱:# 使用寶箱的名稱來進行攻擊:"Chest"。hero.attack("Chest")pass第二十關
# 在這關,別碰惡魔石!往其他方向移動避開它們! while True:evilstone = hero.findNearestItem()if evilstone:pos = evilstone.posif pos.x == 34: # ==的意思是"is equal to""(等于)# 如果惡魔石在左邊,走到右邊。hero.moveXY(46, 22)passelse:# 如果惡魔石在右邊,走到左邊。hero.moveXY(34, 22)passelse:# 如果沒有惡魔石,那就去到中間。hero.moveXY(40, 22)pass第二十一關
# 你可以將一個if語句放到另一個if語句當中。 # 你必須注意這些if語句是如何互相影響的。 # 請確保代碼縮進正確! # 從外層if/else結構開始會有幫助。 # 使用注釋為內層if/else占位預留空間:while True:enemy = hero.findNearestEnemy()# 如果有敵人出現,那么就...if enemy:# 使用distanceTo創建一個距離變量。distance = hero.distanceTo(enemy)# 如果敵人與你的距離小于5米,那么就攻擊。if distance < 5:hero.attack(enemy)# 否則(敵人還離得很遠),那么就使用shield。else:hero.shield()pass# 否則(沒有敵人)...else:# …那么,回到X位置。hero.moveXY(40, 34)第二十二關
(1)主關卡
while True:enemy = hero.findNearestEnemy()if enemy:# 用 distanceTo 獲取與敵人的距離。distance = hero.distanceTo(enemy)# 如果距離小于5米...if distance<5:# ...如果"cleave"技能準備好了,就用cleave干掉他們!if hero.isReady("cleave"):hero.cleave(enemy)# ...否則,僅僅進行普通攻擊。else:hero.attack(enemy)(2)練習A
while True:enemy = hero.findNearestEnemy()if enemy:# pass # 用你自己的代碼替換這行。# 用 distanceTo 獲取與敵人的距離。distance = hero.distanceTo(enemy)# 如果距離小于5米...if distance < 5:# ...如果"cleave"技能準備好了,就用cleave干掉他們!if hero.isReady("cleave"):hero.cleave(enemy)# ...否則,僅僅進行普通攻擊。else:hero.attack(enemy)(3)練習B
while True:enemy = hero.findNearestEnemy()if enemy:# pass # 用你自己的代碼替換這行。# 用 distanceTo 獲取與敵人的距離。distance = hero.distanceTo(enemy)# 如果距離小于5米...if distance < 5:# ...如果"cleave"技能準備好了,就用cleave干掉他們!if hero.isReady("cleave"):hero.cleave(enemy)# ...否則,僅僅進行普通攻擊。else:hero.attack(enemy)第二十三關
# 這定義了findAndAttackEnemy函數 def findAndAttackEnemy():enemy = hero.findNearestEnemy()if enemy:hero.attack(enemy)# 這段代碼不是函數的一部分。 while True:# 現在你可以使用findAndAttackEnemy在村子里巡邏hero.moveXY(35, 34)findAndAttackEnemy()# 現在移動到右側入口。hero.moveXY(60, 31)# 使用findAndAttackEnemyfindAndAttackEnemy()具體闖關流程(24~45)
第二十四關
# 這個函數攻擊最近的敵人。 def findAndAttackEnemy():enemy = hero.findNearestEnemy()if enemy:hero.attack(enemy)# 定義一個函數來劈斬敵人(只在劈斬就緒時)。 def findAndCleaveEnemy():# 找到最近的敵人:enemy = hero.findNearestEnemy()# 如果敵人存在:if enemy:# 而且,如果"cleave"就緒了:if hero.isReady("cleave"):# 是時候使用劈斬了!hero.cleave(enemy)pass# 在主循環中,巡邏、劈斬和攻擊。 while True:# 移動到巡邏點,劈斬和攻擊。hero.moveXY(35, 34)findAndCleaveEnemy()findAndAttackEnemy()# 移動到另一點:hero.moveXY(60, 31)# 使用findAndCleaveEnemy函數:findAndCleaveEnemy()# 使用findAndAttackEnemy函數:findAndAttackEnemy()第二十五關
# 食人魔矮人來襲!保護鎮子!# 定義你自己的函數來對抗敵人! def cleaveOrAttack():# 在函數中,找到敵人,然后劈斬或是攻擊它。ogre = hero.findNearestEnemy()if ogre:if hero.isReady("cleave"):hero.cleave(ogre)# 否則,攻擊食人魔:else:hero.attack(ogre)# 在巡邏點之間移動并調用函數。 while True:hero.moveXY(35, 34)# 使用上面定義的cleaveOrAttack函數。cleaveOrAttack()hero.moveXY(47, 27)# 再次調用函數。cleaveOrAttack()hero.moveXY(60, 31)# 再次調用函數。cleaveOrAttack()第二十六關
# 差役試圖偷取你的硬幣! # 編寫一個函數,在差役盜取硬幣前將其干掉。def pickUpCoin():coin = hero.findNearestItem()if coin:hero.moveXY(coin.pos.x, coin.pos.y)# 在下方寫一個攻擊敵人的函數attackEnemy。 # 尋找最近的敵人,如果存在敵人就進行攻擊。 def attackEnemy():enemy = hero.findNearestEnemy()if enemy:hero.attack(enemy)while True:attackEnemy() # ? 在寫好 attackEnemy 函數后取消這一行的注釋。pickUpCoin()第二十七關
# 使用 checkAndAttack 函數讓代碼易讀。# 這個函數有一個形式參數。 # 形式參數是一種給函數傳遞信息的方式。 def checkAndAttack(target):# 形式參數'target'只是一個變量!# 它會容納函數調用時的實際參數。if target:hero.attack(target)hero.moveXY(43, 34)while True:hero.moveXY(58, 52)topEnemy = hero.findNearestEnemy()# 使用帶topEnemy變量的checkAndAttack函數。checkAndAttack(topEnemy)# 移動到底部的X標記處。hero.moveXY(58, 16) # 創建名為 bottomEnemy 的變量并尋找最近敵人。bottomEnemy = hero.findNearestEnemy()# 使用 checkAndAttack 函數,并使用 bottomEnemy 變量。checkAndAttack(bottomEnemy)第二十八關
# 森林中一座被遺忘的墓地! # 但是食人魔緊追不舍。 # 在防御食人魔矮人的同時打開墓地之門。# 這個函數應該在敵人存在時攻擊,否則攻擊門! def checkToDefend(target):# 檢查`target`是否存在if target:# 如果是這樣,攻擊`target`hero.attack(target)# 如果沒有`target`,使用else去做點別的事else:# 否則攻擊 "Door"hero.attack("Door")passwhile True:enemy = hero.findNearestEnemy()checkToDefend(enemy)第二十九關
# 唯一的出口被食人魔堵住了。 # 躲著骷髏怪,并一個個擊敗食人魔。# 這個函數需要攻擊敵人并隱藏。 def hitOrHide(target):# 如果'target'存在:if target:# 攻擊'target'。hero.attack(target)# 然后移動到紅色標記。hero.moveXY(32, 17)passwhile True:enemy = hero.findNearestEnemy()hitOrHide(enemy)第三十關
# 收集4顆發光石,用來打敗食人魔斗士。 # 如果找到發光石的話,藏起來。def checkTakeHide(item):if item:# 物品在此,拿走它。hero.moveXY(item.pos.x, item.pos.y)# 然后移動到營地中央(40, 34)hero.moveXY(40, 34)while True:# 移動到右上的X標記。hero.moveXY(68, 56)# 在那里搜索一塊發光石。lightstone = hero.findNearestItem()# 調用checkTakeHide,并使用參數:lightstonecheckTakeHide(lightstone)# 移動到左上角的標記。hero.moveXY(12, 56)# 搜索發光石。# 在那里搜索一塊發光石。lightstone = hero.findNearestItem()# 調用checkTakeHide,并使用參數:lightstonecheckTakeHide(lightstone)# 調用checkTakeHide函數。# 將搜索的結果作為參數傳入。第三十一關
# 檢查工人們能否安全挖礦。def checkEnemyOrSafe(target):# 如果`target`(參數)存在:if target:# 那么攻擊目標。hero.attack(target)# 否則:else:# 使用say() 說點什么來叫農民。hero.say("農民,快點過來啊")passwhile True:# 移動到并檢查右上的X標記。hero.moveXY(64, 54)enemy1 = hero.findNearestEnemy()checkEnemyOrSafe(enemy1)# 移動到左下的X標記處。hero.moveXY(16, 14)# 將findNearestEnemy()的結果存到一個變量中。enemy2 = hero.findNearestEnemy();# 調用checkEnemyOrSafe,并傳遞# findNearestEnemy的結果作為參數checkEnemyOrSafe(enemy2)第三十二關
# 這里展示了如何定義一個叫作cleaveWhenClose的函數 # 函數定義了一個形式參數,名為`target` def cleaveWhenClose(target):if hero.distanceTo(target) < 5:pass# 將你的攻擊代碼放到這里。# 如果cleave準備就緒,那就劈斬目標if hero.isReady("cleave"):hero.cleave(target)# 否則,使用attack攻擊目標(`target`)!else:hero.attack(target)# 這段代碼不是函數的一部分。 while True:enemy = hero.findNearestEnemy()if enemy:# 注意在cleaveWhenClose內部,我們將`enemy`稱為`target`。cleaveWhenClose(enemy)第三十三關
# 函數maybeBuildTrap定義了兩個參數! def maybeBuildTrap(x, y):# 使用x和y作為移動的坐標。hero.moveXY(x, y)enemy = hero.findNearestEnemy()if enemy:# 使用 buildXY 在特定 x 和 y 處建造 "fire-trap"。hero.buildXY("fire-trap", x, y) while True:# 這會調用 maybeBuildTrap,并使用上方入口的坐標。maybeBuildTrap(43, 50)# 現在在左側入口處使用maybeBuildTrap!maybeBuildTrap(25, 34)# 現在在底部入口處使用maybeBuildTrap!maybeBuildTrap(43, 20)第三十四關
def cleaveOrAttack(enemy):# 如果"cleave"技能冷卻完畢,那就使用它!否則,使用普通攻擊。if hero.isReady("cleave"):hero.cleave(enemy)else:hero.attack(enemy)passwhile True:enemy = hero.findNearestEnemy()if enemy:distance = hero.distanceTo(enemy)if distance < 5:# 調用上面定義的"cleaveOrAttack"函數cleaveOrAttack(enemy)第三十五關
# 只在看到敵人時進行建造。# 該函數定義3個參數。 def maybeBuildSomething(typeToBuild, x, y):hero.moveXY(x, y)# 找到最近的敵人enemy = hero.findNearestEnemy()# 如果存在敵人if enemy:# 那么使用buildXY,參數typeToBuild、x和y# 使用變量typeToBuild作為第一個參數。hero.buildXY(typeToBuild, x, y)pass# 你不需要改動下面的代碼。 while True:# 調用 maybeBuildSomething,使用"fire-trap"及底部X的坐標。maybeBuildSomething("fire-trap", 40, 20)# 調用maybeBuildSomething,在左側X處建造"fence"!maybeBuildSomething("fence", 26, 34)# 調用maybeBuildSomething,在頂部X處建造"fire-trap"!maybeBuildSomething("fire-trap", 40, 50)# 調用maybeBuildSomething,在右側X處建造"fence"!maybeBuildSomething("fence", 54, 34)第三十六關
# 巡邏并只在看到硬幣時設置陷阱。# 編寫這個函數。 def maybeBuildTrap(x, y):# 移動到給定的xy位置hero.moveXY(x, y)# 搜尋硬幣,如果發現就建造一個"fire-trap"item = hero.findNearestItem()if item:hero.buildXY("fire-trap", x, y)passwhile True:# 為左上方通道調用maybeBuildTrap。maybeBuildTrap(12, 56)# 現在是右上的通道。maybeBuildTrap(68, 56)# 現在是右下的通道。maybeBuildTrap(68, 12)# 現在是左下的通道。maybeBuildTrap(12, 12)第三十七關
# 你現在擁有一個寵物!def speak(event):# 你的寵物需要用pet.say()進行回應pet.say('Meao')pet.trick()pass# 這將告訴你的寵物,在聽到聲音時運行speak()函數 pet.on("hear", speak)# 和你的寵物交流吧! hero.say("你好小貓")第三十八關
# 我們需要知道新寵物的名字。# 把這個函數用作寵物 "hear" 事件的處理器。 def onHear(event):# 不要更改這個函數pet.say("喵 汪 喵")pet.say("汪 汪")pet.say("喵")pet.say("喵")pet.say("喵 汪 喵 喵")pet.trick()# 使用pet.on(eventType,eventHandler)方法 # 指派onHear函數來處理"hear"事件。 pet.on("hear",onHear)# 這必須在 "pet.on" 的后面。 hero.say("伙計,你叫什么名字?") hero.say("能重復一次嗎?")第三十九關
# 教你的寵物回答問題!# 很幸運,所有的答案都是"2" def sayTwo(event):# 使用pet.say()來回答"2"pet.say("2")pass# 使用pet.on(),通過sayTwo來處理"hear"事件 pet.on("hear",sayTwo) # 現在休息并觀看表演吧! hero.say("一加一等于…?") hero.say("x^3 - 6x^2 + 12x - 8 = 0。那x等于多少?") hero.say("火星有多少衛星?")第四十關
# 編寫一個事件處理函數,名為onHear# 完成onHear函數 def onHear(event):# 寵物需要在onHear中說點什么。pet.say("YES")pet.say("YES")pet.say(2)pet.say(2)pet.say(2)passpet.on("hear", onHear)hero.say("能聽懂我的話嗎?") hero.say("你是美洲獅嗎?") hero.say("你多大啦?") # 再問兩個問題。 hero.say("1+1=?") hero.say("1*2=?")第四十一關
# 你被困在了樹精陷阱中! # 派遣寵物拿取治療藥水!def goFetch():# 你可以在處理器函數中使用循環。while True:potion = hero.findNearestItem()if potion:# 用pet.fetch()去讓你的寵物取回藥水。pet.fetch(potion)pass# 當寵物被召喚出來時,會觸發 "spawn" 事件。 # 這讓你的寵物在關卡開始時運行goFetch()函數。 pet.on("spawn", goFetch)第四十二關
# 你無法幫助農民過河。 # 不過,你的寵物做得到! # 將你的狼調教成看門狗。def onSpawn(event):while True:# 寵物一樣可以發現敵人。enemy = pet.findNearestEnemy()# 如果有敵人:if enemy:# 那么讓寵物說點什么:pet.say("有危險!")pet.on("spawn", onSpawn);第四十三關
# 移動到右邊# 補全這個函數: def onSpawn(event):pass# 在while-true循環內:while True:# 使用hero.findNearestItem()potion = hero.findNearestItem()# 如果有物品:if potion:# 使用pet.fetch(item)來拿取物品。pet.fetch(potion)# 使用pet.on()來將onSpawn指派給"spawn"事件 pet.on("spawn",onSpawn) hero.moveXY(78, 35)第四十四關
# 你的寵物可以使用 pet.moveXY()def onSpawn(event):while True:# 首先,移動到左側的X標記處:pet.moveXY(9, 24)# 接著,移動到上面的X標記處:pet.moveXY(30, 43)# 將寵物移動至右側的X標記處:pet.moveXY(51, 24)# 將寵物移動到下面的X標記處:pet.moveXY(30,5)# 使用pet.on(),通過onSpawn來處理"spawn"事件 pet.on("spawn",onSpawn)# 給你的寵物加油! # 不要刪除下面的命令。 while True:hero.say("狗狗真棒!")hero.say("你能做到的!")hero.say("跑跑跑!")hero.say("快好了!")hero.say("再來一圈!")第四十五關
# 你的寵物需要在X標記上來回跑動。 # 英雄需要不停為寵物加油!# 為寵物編寫事件函數onSpawn。 # 這個函數要讓狼來回跑動: # 首先,跑到右側的標記上,然后左側的標記: def onSpawn(event):while True:pet.moveXY(48,8)pet.moveXY(12,8)pet.on("spawn", onSpawn) # 為你的寵物加油。不要移除這個: while True:hero.say("跑!!!")hero.say("速度!")總結
以上是生活随笔為你收集整理的Codecombat复赛闯关攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文、报告及教案公式编辑:图片公式转换M
- 下一篇: 【OpenCV 例程300篇】250.