「網易官方」極客戰記(codecombat)攻略-沙漠-銀行突襲

「網易官方」極客戰記(codecombat)攻略-沙漠-銀行突襲

食人魔們認為他們能夠奪走我們的黃金,愚蠢至極!

簡介

為了找到並遍歷所有的敵人和物品,你可以用 findEnemies() 或者 findItems() 以及 while 循環。

enemies = hero.findItems()

enemyIndex = 0

# 遍歷敵人數組。

while enemyIndex < len(enemies):

enemy = enemies[enemyIndex]

hero.attack(enemy)

# 重要: 增加 enemyIndex 變量的值。

# 否則代碼會陷入死循環。

enemyIndex += 1

默認代碼

# 等待食人魔,擊敗他們並收集黃金。

while True:

enemies = hero.findEnemies()

# enemyIndex 用於迭代數組。

enemyIndex = 0

# 雖然enemyIndex小於len(敵人)

while enemyIndex < len(enemies):

# 在enemyIndex攻擊敵人

enemy = enemies[enemyIndex]

hero.attack(enemy)

# 給 enemyIndex 加上 1。

enemyIndex += 1

coins = hero.findItems()

# coinIndex用於迭代硬幣數組。

coinIndex = 0

while coinIndex < len(coins):

# 用 coinIndex 從 coins 數組得到一個金幣。

# 收集那個金幣。

# 給 coinIndex 的值增加 1。

coinIndex += 1

概覽

你可以用 while - 條件循環 (或 “迭代”('iterate',有時稱為 “遍歷”)) 一個數組。

第一步,創建一個用作數組索引 (index) 的變量。

初始值應該為 0 ,也就是說你第一個讀到的就是索引為 0 的值。 然後每次把索引變量加上 1 ,讀取下一個元素 (element)。 (記得第二個元素的 索引 是 1 )

至於 while 條件 則是檢查 索引變量 是否仍小於數組長度。

舉個栗子例子:

items = hero.findItems()

itemIndex = 0

while itemIndex < len(items):

item = items[itemIndex]

hero.say(item)

itemIndex += 1

別忘了每次循環裡增加 itemIndex 的值,否則你會因為無限循環 (infinite loop) 毀滅世界的。

如果你需要對幾組事物 (敵人啊,朋友啊什麼的) 進行操作,那你可以將這些代碼放進另一個 while 循環 裡。比如放進 while-true 循環 之後你的英雄會週而復始迭代處理每組事物。

while True:

items = hero.findItems()

itemIndex = 0

while itemIndex < len(items):

item = items[itemIndex]

hero.moveXY(item.pos.x, item.pos.y)

itemIndex += 1

銀行突襲 解法

# 等待食人魔,擊敗他們並收集黃金。

while True:

enemies = hero.findEnemies()

# enemyIndex 用於迭代數組。

enemyIndex = 0

# 雖然enemyIndex小於len(敵人)

while enemyIndex < len(enemies):

# 在enemyIndex攻擊敵人

enemy = enemies[enemyIndex]

hero.attack(enemy)

# 給 enemyIndex 加上 1。

enemyIndex += 1

coins = hero.findItems()

# coinIndex用於迭代硬幣數組。

coinIndex = 0

while coinIndex < len(coins):

# 用 coinIndex 從 coins 數組得到一個金幣。

coin = coins[coinIndex]

# 收集那個金幣。

hero.moveXY(coin.pos.x, coin.pos.y)

# 給 coinIndex 的值增加 1。

coinIndex += 1


本攻略發於極客戰記官方教學欄目,原文地址為:

https://codecombat.163.com/news/jikezhanji-yinhangtuxi

極客戰記——學編程,用玩的!


分享到:


相關文章: