(点击图片进入关卡)
杀掉牦牛群中的食人魔
简介
findEnemies() 给你一个包含你的英雄可以看到的所有敌人的数组:
enemies = hero.findEnemies()
循环所有敌人,并攻击任何类型为 "shaman" 的人。
默认代码
# 用findEnemies把敌人存在数组enemies中
# 只攻击萨满巫师,不要攻击牦牛!
enemies = hero.findEnemies()
enemyIndex = 0
# 把这段代码用一个while loop 功能循环遍历所有的敌人
# 当 enemyIndex 小于 enemies 的长度时:
enemy = enemies[enemyIndex]
if enemy.type == 'shaman':
while enemy.health > 0:
hero.attack(enemy)
# 记得增加enemyIndex
概览
既然你熟悉数组,你可以使用方法 findEnemies() 来获得一个数组,包括你的英雄可以看到的所有敌人。
请注意,示例代码使用另一个 “while” 循环来确保你的英雄在 health 大于 0 时持续攻击 shaman。
敌人攻击的算法逻辑已经提供给你,你需要把它放在一个 while 循环中,在那里你可以遍历 enemies找到所有的 "shaman" 。
while enemyIndex < len(enemies):
enemy = enemies[enemyIndex]
if enemy.type == 'shaman':
while enemy.health > 0:
hero.attack(enemy)
enemyIndex += 1
重点:确保每次循环运行时都增加 enemyIndex ,即使敌人不是巫师!
潜伏解法
# 用findEnemies把敌人存在数组enemies中
# 只攻击萨满巫师,不要攻击牦牛!
enemies = hero.findEnemies()
enemyIndex = 0
# 把这段代码用一个while loop 功能循环遍历所有的敌人
# 当 enemyIndex 小于 enemies 的长度时:
while enemyIndex < len(enemies):
enemy = enemies[enemyIndex]
if enemy.type == 'shaman':
while enemy.health > 0:
hero.attack(enemy)
# 记得增加enemyIndex
enemyIndex += 1
本攻略发于极客战记官方教学栏目,原文地址为:
https://codecombat.163.com/news/jikezhanji-qianfu
极客战记——学编程,用玩的