「网易官方」极客战记(codecombat)攻略-沙漠-优待-preferential-treatment

(点击图片进入关卡)

先瞄准最危险的敌人,以增加你存活的几率

简介

投掷者造成了很多伤害,但生命值很低。

以前,你只能用 findNearestEnemy 找到最近的敌人。 现在,你可以使用 findEnemies 来找到所有的敌人,并且优先攻击投掷者!

首先: while 循环所有的 enemies ,并且只有当 enemy.type 是 "thrower" 时才会进行攻击。

第二: while 再次循环所有的 “ enemies ,攻击所有的敌人。

默认代码

# 首先,在所有的敌人中循环...
enemies = hero.findEnemies()
enemyIndex = 0
# ...但是仅攻击"thrower"类型的敌人。
while enemyIndex < len(enemies):
    enemy = enemies[enemyIndex]
    if enemy and enemy.type == "thrower":
        hero.attack(enemy)
    enemyIndex += 1
# 然后再到所有的敌人中循环...
enemies = hero.findEnemies()
enemyIndex = 0
# ...干掉仍然活着的每个

概览

首先, 使用 while 循环遍历 enemies 数组, 并且攻击类型 (type) 为 thrower 的敌人.

然后, 使用另一个 while 循环遍历一个新的 enemies 数组, 攻击剩下的敌人.

别忘了在你的循环里增加 index 的值!

提示: 在攻击时, 用一个 while 循环在敌人的 health 大于 0 时保持攻击.

优待解法

# 首先,在所有的敌人中循环...
enemies = hero.findEnemies()
enemyIndex = 0
# ...但是仅攻击"thrower"类型的敌人。
while enemyIndex < len(enemies):
    enemy = enemies[enemyIndex]
    if enemy and enemy.type == "thrower":
        hero.attack(enemy)
    enemyIndex += 1
# 然后再到所有的敌人中循环...
enemies = hero.findEnemies()
enemyIndex = 0
# ...干掉仍然活着的每个
while enemyIndex < len(enemies):
    enemy = enemies[enemyIndex]
    if enemy:
        hero.attack(enemy)
    enemyIndex += 1
 
本攻略发于极客战记官方教学栏目,原文地址为:
 
原文地址:https://www.cnblogs.com/codecombat/p/13389301.html