ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-01-13 12:01:23  阅读:317  来源: 互联网

标签:跃火 codecombat hero pos else 嵌套 say moveXY 战记


(点击图片进入关卡)

有人忘了扑灭他们的篝火!使用嵌套 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 极客战记——学编程,用玩的!

标签:跃火,codecombat,hero,pos,else,嵌套,say,moveXY,战记
来源: https://www.cnblogs.com/codecombat/p/12186644.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有