「网易官方」极客战记(codecombat)攻略-沙漠-沙漠战役-desert-combat

(点击图片进入关卡)

为你的士兵讲上一段史诗般的讲话来激励他们对抗巨大的敌人。

简介

一定要增加'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://www.cnblogs.com/codecombat/p/13291750.html