关卡连接:
https://codecombat.163.com/play/level/master-of-names
用你新获得的编码技能寻找没有名字的敌人作为目标。
简介:
变量 (Variables) 包含着以后要用到的信息。你可以随意将一个值 (Value) 保存到变量里。
使用 findNearestEnemy() 定位最近的敌人。
closestEnemy = hero.findNearestEnemy()
默认代码
# 你的英雄不知道这些敌人的名字!
# 这眼镜给了你 “findNearestEnemy” 寻找最近敌人的能力。
# 将hero.findNearestEnemy()的结果赋值给变量enemy1:
enemy1 = hero.findNearestEnemy()
# enemy1现在指向最近的敌人。使用变量进行攻击!
hero.attack(enemy1)
hero.attack(enemy1)
# enemy1已被打败,再次调用hero.findNearestEnemy()将会找到附近的新敌人。
enemy2 = hero.findNearestEnemy()
hero.attack(enemy2)
hero.attack(enemy2)
# 将hero.findNearestEnemy()的结果赋值给变量enemy3:
# 现在使用enemy3变量进行攻击。
概览
还记得上个关卡吗?变量 (Variables) 是代表数据的符号。顾名思义,变量的值 (value) 会在你存储新数据的时候发生变化。
现在我们不用敌人的名字了,而是用你刚获得的眼镜和 findNearestEnemy() 方法将对食人魔的引用保存到变量里。这样你就不用事先知道敌人的名称了。
当你调用 findNearestEnemy() 方法时,你 必须将结果保存到一个变量里 ,就像 enemy3 (你可以用你想用的名字代替). 当你调用 findNearestEnemy() 方法时,变量会记得 上次 调用 findNearestEnemy 的结果,所以最好及时更新。
记住: 当你使用双引号时, 你创造了一个 字符串, 就像 "Kratt" . 当你不使用双引号时 (如 enemy1 ), 你在引用名叫enemy1 的 变量。
食人魔矮人要打两次才能死。
名称大师 解法
# 你的英雄不知道这些敌人的名字!
# 这眼镜给了你 “findNearestEnemy” 寻找最近敌人的能力。
# 将hero.findNearestEnemy()的结果赋值给变量enemy1:
enemy1 = hero.findNearestEnemy()
# enemy1现在指向最近的敌人。使用变量进行攻击!
hero.attack(enemy1)
hero.attack(enemy1)
# enemy1已被打败,再次调用hero.findNearestEnemy()将会找到附近的新敌人。
enemy2 = hero.findNearestEnemy()
hero.attack(enemy2)
hero.attack(enemy2)
# 将hero.findNearestEnemy()的结果赋值给变量enemy3:
enemy3 = hero.findNearestEnemy()
# 现在使用enemy3变量进行攻击。
hero.attack(enemy3)
hero.attack(enemy3)