【网易官方】极客战记(codecombat)攻略-森林-跃火林中forest-fire-dancing

有人忘了扑灭他们的篝火!使用嵌套 if 躲避火球。

简介

你可以在一个 if语句 内嵌套 (nest) 另一个 if语句 做出更复杂的选择。

用这个技能找到安全点,避开火球!

默认代码

敬请期待

概览

现在的处境可能让你想起了上一关,焰中舞动,不过这次你得同时应付两个火球了!在上方,火球随机出现,所以你不能直接来回走。 决定安全地点的方法需要更巧妙:

  1. 如果在地图一侧看到宝石,赶快远离,移动到地图的另一侧。
  2. 如果没有宝石,就移动到中间。

嵌套 If 结构

为了让你的计划得手,你需要用上嵌套 (nested) if结构 。说白了就是把一个 if结构 嵌入到 另一个 if结构 里,做到更复杂的条件选择。(亲,看懂了吗?)

if gem:

if gem.pos.x == 34:

hero.say(‘左边!‘)

else:

hero.say(‘右边!‘)

else:

hero.say(‘中间!‘)

注意,嵌套内层的 if结构 需要更多缩进,说明它在外层结构的 里面 。向左走和向右走的条件分支在 内层if 的范围内,而在中间的条件分支则属于 外层 if 的范围。

位置 (Position)

游戏中每个物品 (或者单位) 都有一个 pos 属性,代表了他的坐标位置。而每个 pos 本身也是个对象,它又包含了x 和 y 属性,这两个属性可以用来完成比如 moveXY 或者 buildXY 这样的任务。

enemy = hero.findNearestEnemy()

if enemy:

p = enemy.pos

hero.say(p.x)

hero.say(p.y)

在这关的默认代码里,我们帮你把 pos 设置为 gem.pos ,不过在以后的关卡里,你得自己动手才能丰衣足食。

跃火林中 解法

while True:

evilstone = hero.findNearestItem()

if evilstone:

pos = evilstone.pos

if pos.x == 34:

hero.moveXY(46, 22)

else:

hero.moveXY(34, 22)

else:

hero.moveXY(40, 22)

本攻略发于极客战记官方教学栏目,原文地址为:

https://codecombat.163.com/news/jikezhanji-yuehuolinzhong

极客战记——学编程,用玩的!

原文地址:https://www.cnblogs.com/codecombat/p/12186644.html

时间: 2024-11-05 17:55:19

【网易官方】极客战记(codecombat)攻略-森林-跃火林中forest-fire-dancing的相关文章

网易极客战记官方攻略-地牢-不详的征兆

关卡连接: https://codecombat.163.com/play/level/signs-and-portents 在你的盟友抵挡一大波兽人时逃离该区域! 简介 在你把荧光石带给右边的 Senick 和 Omarn 时,你的同伴会抵抗敌军. 默认代码 # 你不需要和食人巨怪打,只管逃命!你的盟友会保护你. # 避开食人魔的视线,收集宝石. hero.moveRight() hero.moveRight() hero.moveUp() # 使用移动语句到达红X标记处 概览 你的目标是一直

网易极客战记官方攻略-地牢-虚幻干扰

关卡连接: https://codecombat.163.com/play/level/illusory-interruption 分散守卫的注意力,然后逃跑. 简介 踏上红 X 来激活诱饵. 移动到宝石并逃离! 默认代码 # 走到 X 位置,使用诱饵分散守卫注意力. 概览 你守卫的注意力若没有分散,你是溜不出去的. 幸运的是, 有人在附近留下一些诱饵. 踩在 X 上会激活诱饵. 提示: 你能通过向移动命令传递参数移动多步, 如 moveRight(3). 虚幻干扰 解法 # 走到 X 位置,使

网易极客战记官方攻略-地牢-工作中睡着

关卡连接: https://codecombat.163.com/play/level/sleeping-on-the-job 这两个守卫将他们的姿势永远定格于 Kithgard 地牢中. 简介 穿过走廊,打败兽人,拿到宝石. 确保用上 hero.attack("名字") ,在兽人醒来时自卫. 默认代码 # 卫兵看守着大门的开关. # 在沉睡的食人魔之间移动: # 对着食人魔攻击两次,击败他们: # 然后移动到宝石的位置,逃离房间: 概览 hero.attack() 方法需要一个 &q

网易极客战记官方攻略-地牢-真名实姓

关卡连接: https://codecombat.163.com/play/level/true-names 掌握一名敌人的真实姓名来击败它. 简介 确保攻击每个食人魔两次. 使用 attack 方法来根据名字( "Name" )发起攻击. 大小写很重要! 默认代码 # 抵御 "Brak" 和"Treg"! # 小食人魔攻击两次才会被击败. hero.moveRight(3) hero.attack("Brak") hero.

网易极客战记官方攻略-地牢-逆时针回转

关卡连接: https://codecombat.163.com/play/level/kounter-kithwise 保持在食人魔巡逻的视野之外. 简介 通过仔细选择路径来避开矮人. 默认代码 # 避开食人魔并取走宝石. 概览 有时时机很重要.拿到宝石,沿食人魔巡逻的相同路径移动,他们就不会发现你了. 你可以拖动下方的回放进度条,看下上次运行代码时发生了什么. 逆时针回转 解法 # 避开食人魔并取走宝石. hero.moveDown() hero.moveRight() hero.moveU

网易极客战记官方攻略-地牢-幽影守卫

关卡连接: https://codecombat.163.com/play/level/shadow-guard 避开食人魔,拿到宝石,安全到达另一边.当心尖刺! 简介 利用障碍物避免被发现. 默认代码 # 避开食人魔的视线,收集宝石. hero.moveRight() 概览 这关你得秘密行事.你暂时还没有武器,所以你打不过守在路上的食人魔矮人. 不过,你可以在雕像后向上走,他就不会看到你了.这样你就能在不被引起注意的前提下拿到宝石了. 幽影守卫 解法 # 避开食人魔的视线,收集宝石. hero

网易极客战记官方攻略-地牢-注释中的密语

关卡连接: https://codecombat.163.com/play/level/cell-commentary 你和这位著名巫师被困在监牢中!说出密码寻求巫师的帮助. 简介 注释 (Comment) 是一个程序员向另一个程序员解释代码的一种方式. 在 CodeCombat 里,注释真的是超有用的提示,它能指导你怎么写代码! # Python 中用 # 表示一行注释的开始.仔细阅读,收获良多! 默认代码 hero.say("密码是什么?") # 使用 “say()” 函数说出密码

网易极客战记官方攻略-地牢-机会有利

关卡连接: https://codecombat.163.com/play/level/favorable-odds 两个食人魔阻挡了你逃出地牢的去路. 简介 敬请期待! 默认代码 # 攻击食人魔并收集宝石. hero.moveRight() hero.attack("Krug") hero.attack("Krug") 概览 记得攻击食人魔矮人两次,并将其名称首字母大写放到引号中: "Krug" 和 "Grump" . 如果

网易极客战记官方攻略-地牢-敌人的陷阱

关卡连接: https://codecombat.163.com/play/level/enemy-mine 认真对待,小心脚下. 简介 你可以使用参数优化你的代码.不像原来你使用: hero.moveRight() hero.moveRight() 现在你可以用: hero.moveRight(2) 默认代码 # 使用带参数的移动命令,移动到更远. hero.moveRight(3) 概览 火焰陷阱遍地都是,但有条通向宝石的安全路径. 当你调用 (call) 像 moveRight() 这样的