「网易官方」极客战记(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

极客战记——学编程,用玩的!


分享到:


相關文章: