「网易官方」极客战记(codecombat)攻略-沙漠-协助防御-coordinated-defense

「网易官方」极客战记(codecombat)攻略-沙漠-协助防御-coordinated-defense_第1张图片
(点击图片进入关卡)

三颗宝石,三个人,还有最后期限。

简介

hero.findEnemies() 返回你能看到的所有敌人的数组。

攻击数组中的第一个敌人 (index 0)。你的队友会攻击其他人。

你需要检查敌人阵列是否为空。 一种方法是检查数组的长度是否大于 0:

enemies = hero.findEnemies()
if len(enemies) > 0:
    # 'enemies' contains at least one element.

当你把物品赋值给变量,你就可以像以前关卡的 findNearestItem() 那样使用。

默认代码

# 保护农民免受食人魔的侵害。
while True:
    # 得到一个敌人的数组。
    enemies = hero.findEnemies()
    # 如果数组不为空。
    if len(enemies) > 0:
        # 从 "enemies"数组中攻击第一个敌人。

 

        # 返回到起始位置。

 

        pass

概览

数组的长度是数组中包含元素的个数。 一个空数组的长度为'0'。

如果您需要从中读取元素,检查数组的长度是一个很好的做法。

如果您只读取第一个元素,那么就足以检查该数组是否为空。

var items = hero.findItems();
if len(items):
    # "items" 的长度不为0.
    hero.say(items[0])

但是,如果你正在寻找另一个元素,比如第 3 个元素,那么你需要更仔细地检查数组长度:

if len(items) >= 3:
    # "items"至少包含3个元素
    hero.say(items[2])

协助防御 解法

# 保护农民免受食人魔的侵害。
while True:
    # 得到一个敌人的数组。
    enemies = hero.findEnemies()
    # 如果数组不为空。
    if len(enemies) > 0:
        # 从 "enemies"数组中攻击第一个敌人。
        hero.attack(enemies[0])
        # 返回到起始位置。
        hero.moveXY(40, 20)
 
本攻略发于极客战记官方教学栏目,原文地址为:
https://codecombat.163.com/news/jikezhanji-xiezhufangyu
极客战记——学编程,用玩的

你可能感兴趣的:(「网易官方」极客战记(codecombat)攻略-沙漠-协助防御-coordinated-defense)