「网易官方」极客战记(codecombat)攻略-沙漠-毒气攻击-gas-attack

£可爱£侵袭症+ 提交于 2020-08-12 10:49:20
(点击图片进入关卡)

清扫深谷,但别让爆炸伤及你的朋友!

简介

农民被困在峡谷中,但我们只有一门毒药炮。

找到 敌人生命值的总和 ,告诉他们开火需要多少的毒药!

如果用了太多毒药,农民也会中毒身亡!

默认代码

# 计算所有食人魔的总生命值。

 

def sumHealth(enemies):
    # 创建一个变量,将它设为0后开始运算
    totalHealth = 0
    # 初始化循环索引为0
    enemyIndex = 0
    # 當 計數 小于敌人數列長度的時候

 

        # 将当前敌人的生命值添加到总生命值里

 

        # 让 index 递增

 

    return totalHealth

 

# 使用加农炮来打败食人魔。
cannon = hero.findNearest(hero.findFriends())
# 加农炮可以穿透墙壁。
enemies = cannon.findEnemies()
# 计算食人魔生命值的总和。
ogreSummaryHealth = sumHealth(enemies)
hero.say("使用 " + ogreSummaryHealth + " 克。")

概览

我们经常要把很多对象的一些属性相加。

为了计算总和,我们遍历所有对象,将需要的属性值加到 累加器(accumulator) 中:

coins = hero.findItems()
totalValue = 0   # 累加器
index = 0
while index < len(coins):
    totalValue = coins[index].value
    index += 1

毒气攻击解法

# 计算所有食人魔的总生命值。

 

def sumHealth(enemies):
    # 创建一个变量,将它设为0后开始运算
    totalHealth = 0
    # 初始化循环索引为0
    enemyIndex = 0
    # 當 計數 小于敌人數列長度的時候
    while enemyIndex<enemies.length:
        # 将当前敌人的生命值添加到总生命值里
        totalHealth += enemies[enemyIndex].health
        # 让 index 递增
        enemyIndex += 1
    return totalHealth

 

# 使用加农炮来打败食人魔。
cannon = hero.findNearest(hero.findFriends())
# 加农炮可以穿透墙壁。
enemies = cannon.findEnemies()
# 计算食人魔生命值的总和。
ogreSummaryHealth = sumHealth(enemies)
hero.say("使用 " + ogreSummaryHealth + " 克。")
 
本攻略发于极客战记官方教学栏目,原文地址为:
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!