关卡连接:https://codecombat.163.com/play/level/backwoods-ambush
免费试玩:https://codecombat.163.com/play
在边远地带,有条件地伏击一些食人魔哨兵。!
简介
使用 moveXY 在森林中巡逻。
你现在能够使用强大的 if 语句了。更多信息请查看中间工具栏的编程宝典 II。
if 语句是编程者的基本工具。通过输入以下代码进行创建:
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
默认代码
hero.moveXY(24, 42)
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(27, 60)
enemy = hero.findNearestEnemy()
if enemy:
# 攻击敌人,如果存在的话!
pass # pass是一个占位符
hero.moveXY(42, 50)
enemy = hero.findNearestEnemy()
# 使用if语句检查敌人是否存在。
# 攻击敌人,如果存在的话!
hero.moveXY(39, 24)
# 找到最近的敌人:
# 检查敌人是否存在:
# 攻击敌人,如果存在的话!
概览
新的编程宝典 II 让你具有了使用 if 语句的本领
if 语句说的是,如果某个条件成立,那么就运行某段代码(否则就不运行这段代码!)
i要通过此关,你需要使用 moveXY 移动到每个 X 标记处
在每个 X 处,可能存在也可能不存在食人魔(食人魔是每次点提交按钮时随机生成的!)
使用 findNearestEnemy 和 if 语句来确定每一处是否有食人魔,如下:
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
像这样使用 if 语句的话,就不会出现没有敌人还去攻击的错误了!
边地伏击战 解法
hero.moveXY(24, 42)
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(27, 60)
enemy = hero.findNearestEnemy()
if enemy:
# 攻击敌人,如果存在的话!
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(42, 50)
enemy = hero.findNearestEnemy()
# 使用if语句检查敌人是否存在。
if enemy:
# 攻击敌人,如果存在的话!
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(39, 24)
# 找到最近的敌人:
enemy = hero.findNearestEnemy()
# 检查敌人是否存在:
if enemy:
# 攻击敌人,如果存在的话!
hero.attack(enemy)
hero.attack(enemy)