挖宝石是一个危险的工作!
简介
![](https://codecombat.163.com/news/img/forestMiners.df3e381a.jpg)
你需要防止食人魔骚扰这些矿工。
首先,填写好 checkEnemyOrSafe() 函数。 只在没有食人魔时呼叫农民,否则攻击食人魔会吸引注意力
然后查看检查右上 X 标记和左下 X 标记的代码。
默认代码
# 检查工人们是否能安全通过雷区。
def checkEnemyOrSafe(target):
# 如果`target`(参数)存在:
# 然后攻击目标
# 否则:
# 使用say()来叫农民。
pass
while True:
# 移动到并检查右上的X标记。
hero.moveXY(64, 54)
enemy1 = hero.findNearestEnemy()
checkEnemyOrSafe(enemy1)
# 移动到左下的X标记处。
# 将findNearestEnemy()的结果存到一个变量中。
enemy2 = hero.findNearestEnemy();
# 调用checkEnemyOrSafe,并传递
# findNearestEnemy的结果作为参数
概览
在前面的关卡中,你学会了如何编写和调用带有参数的函数。 如果这一关你有问题,你可以返回前面的关卡重新熟悉函数相关的知识。
森林矿工 解法
# 检查工人们是否能安全通过雷区。
def checkEnemyOrSafe(target):
# 如果`target`(参数)存在:
if target:
# 然后攻击目标
hero.attack(target)
# 否则:
else:
# 使用say()来叫农民。
hero.say("All clear!")
pass
while True:
# 移动到并检查右上的X标记。
hero.moveXY(64, 54)
enemy1 = hero.findNearestEnemy()
checkEnemyOrSafe(enemy1)
# 移动到左下的X标记处。
hero.moveXY(16, 14)
# 将findNearestEnemy()的结果存到一个变量中。
enemy2 = hero.findNearestEnemy();
# 调用checkEnemyOrSafe,并传递
# findNearestEnemy的结果作为参数
checkEnemyOrSafe(enemy2)