(点击图片进入关卡)
为你的士兵讲上一段史诗般的讲话来激励他们对抗巨大的敌人。
简介
一定要增加'while'循环的条件,否则你将陷入无限循环!
ordersGiven = 0
while ordersGiven < 5:
# If you don't do this, the loop will never end!
ordersGiven += 1
默认代码
# while循环重复直到条件为否。
ordersGiven = 0
while ordersGiven < 5:
# 在站场上移动和排列你的盟友。 (如果你是直接在他们面前,他们只能听到你的。)
# 用hero.say命令你的盟友“进攻”!
# 如果你在X上,他们只能听到你。
hero.say("Attack!")
# 请务必增加命令!
while True:
enemy = hero.findNearestEnemy()
# 当你下达完命令,立即加入战斗!
概览
就像 if 语句一样,while 条件 循环需要制定一个 条件。 每次循环回到开头时,while 会检查 条件 是否为 真。 如果是,循环会继续执行。如果不是,循环停止,继续执行循环后面的代码。
换句话说," 当 (While) 条件 成立时,一直循环。"
注意,如果你的条件一直为真,有可能创建一个 死循环 (infinite loop) !
在这关, while 循环有一个 ordersGiven < 5 的条件。别忘了在循环里增加 ordersGiven 的值,否则你会卡在 死循环 里。
所以在你的 while 循环里:
- 用 moveXY 往下移动 8 米。
- 说出 ( say ) "Attack!"
- 给 ordersGiven 加上 1
在 ‘while' 循环结束之后(循环外面),寻找敌人,若存在就攻击。
沙漠战役 解法
# while循环重复直到条件为否。
ordersGiven = 0
while ordersGiven < 5:
# 在站场上移动和排列你的盟友。 (如果你是直接在他们面前,他们只能听到你的。)
hero.moveXY(hero.pos.x, hero.pos.y - 10)
# 用hero.say命令你的盟友“进攻”!
# 如果你在X上,他们只能听到你。
hero.say("Attack!")
# 请务必增加命令!
ordersGiven += 1
while True:
enemy = hero.findNearestEnemy()
# 当你下达完命令,立即加入战斗!
if enemy:
hero.attack(enemy)
本攻略发于极客战记官方教学栏目,原文地址为:
https://codecombat.163.com/news/jikezhanji-shamozhanyi
极客战记——学编程,用玩的