標籤:int 自己 好的 class pat leave 亦或 條件 down
地牢關卡過完,接下來是邊緣的森林!
1,森林保衛戰
hero.moveUp()hero.buildXY("fence", 40, 52)hero.moveDown()hero.moveDown()hero.buildXY("fence", 40, 20)
2,羊腸小道
# It‘s the first point of the path.hero.moveXY(36, 59)# Move at the next points of the path.hero.moveXY(37, 13)# Build a fence to stop the ogre.hero.moveXY(79,18)hero.moveXY(73,61)hero.moveXY(79,18)
3,叢林裡的隔間
hero.moveXY(19, 33)enemy = hero.findNearestEnemy()# 條件判斷式將會檢查該變數是否參考到一個ogreif enemy: hero.attack(enemy) hero.attack(enemy)hero.moveXY(49, 51)enemy = hero.findNearestEnemy()if enemy: # 在這裡撰寫攻擊敵人指令 hero.attack(enemy) hero.attack(enemy) # pass沒有特別的意思,只是用來協助結束條件判斷式,寫不寫都可以 passhero.moveXY(58, 14)enemy = hero.findNearestEnemy()# 使用條件判斷式來確認敵人是否存在if enemy: # 如果敵人存在就攻擊他 hero.attack(enemy) hero.attack(enemy)
4,if-stravaganza
while True: enemy = hero.findNearestEnemy() # 使用一個 “if” 語句去檢查是否有敵人存在: if enemy: # 攻擊敵人如果它存在的話 hero.attack(enemy) hero.attack(enemy)
5,背靠背
while True: enemy = hero.findNearestEnemy() if enemy: # 亦或主動出擊... hero.attack(enemy) hero.attack(enemy) else: # 亦或回到你的陣地防守。 hero.say(" 我看不到敵人") hero.moveXY(40, 34) pass
6,森林劈裂者
hero.moveXY(23, 23)while True: enemy = hero.findNearestEnemy() if hero.isReady("cleave"): # “Cleave”掉敵人! hero.cleave(enemy) pass else: # 否則(如果“cleave”還沒準備好),就用你的普通攻擊 hero.attack(enemy) pass
7,邊遠地區的對峙
while True: # 使用 ‘isReady’ 中的一個 “if-statement” 的語句來檢查 “cleave” if hero.isReady("cleave"): # 劈斬! enemy = hero.findNearestEnemy() hero.cleave(enemy) # 或者,如果 cleave 還沒準備好的話: else: # 說一點什麼來嚇走曼切堪食人魔 hero.say(" 快滾吧!刀劍無眼 ! ") pass
8,測距儀
enemy1 = "Gort"distance1 = hero.distanceTo(enemy1)hero.say(distance1)enemy2 = "Smasher"distance2 = hero.distanceTo(enemy2)# 將distance2變數作為參數,傳入say()方法hero.say(distance2)# 測量並說出剩餘敵人與英雄間的距離# 不要向你的友軍進行射擊!enemy3 = "Charles"enemy4 = "Gorgnub"distance4 = hero.distanceTo(enemy4)hero.say(distance4)
9,保護農民
while True: enemy = hero.findNearestEnemy() distance = hero.distanceTo(enemy) if distance < 10: # 如果他們與農民太近,就攻擊他們 hero.attack(enemy) pass # 否則的話,呆在農民旁邊! hero.moveXY(40, 37)
10,瘋狂的食人魔
# 地上另一個讓英雄開啟的寶箱!# 攻擊寶箱以開啟它# 有些食人魔可不會獃獃地站著挨打!# 當食人魔離你太近時,你得學著保護你自己while True: enemy = hero.findNearestEnemy() distance = hero.distanceTo(enemy) if hero.isReady("cleave"): # 首先,定期使用旋風斬(cleave)當技能就緒的時候: hero.cleave(enemy) pass elif distance < 5: # 攻擊靠近並離你最近的食人魔 hero.attack(enemy) pass else: # 否則,試著打破寶箱看看: hero.attack("Chest") pass
11,躍火林中
# 在這關,別碰惡魔石!往其他方向移動避開它們!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: # If there‘s no evilstone, go to the middle. hero.moveXY(40, 22) pass
12,
可選關卡1:競技場
# 在決鬥中擊敗敵人的英雄!while True: # 在一個迴圈中找到並攻擊敵人 # 當你完成的時候,提交到多人天梯系統中! enemy = hero.findNearestEnemy() hero.attack(enemy) if len(hero.findNearestEnemy()) > 5: hero.shield() else: hero.attack(enemy)
CodeCombat森林關卡Python代碼