【网易官方】极客战记(codecombat)攻略-森林-边地伏击战

关卡连接: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)
 
 
本攻略发于极客战记官方教学栏目,原文地址为:
原文地址:https://www.cnblogs.com/codecombat/p/12159826.html