「网易官方」极客战记(codecombat)攻略-森林-丰富的觅食

「网易官方」极客战记(codecombat)攻略-森林-丰富的觅食

 

简介

「网易官方」极客战记(codecombat)攻略-森林-丰富的觅食

结合你知道的一切用于通过树林冒险!记住while-true循环,if/else,flags,cleave(),attack(),pos和moveXY()`。

将你学到的关于 if/else 的知识都拿出来,挥动手中的旗子,释放你的技能,从 pos 对象中获得需要的 x 和 y 坐标,清扫所有草地上的金币和敌人吧。

你要用上 pickUpFlag 让你的英雄在草地之间移动,攻击敌人少不了 attack 和 cleave ,还有 moveXY 帮你捡起看得见的金币。

提示: 记得要先点击 提交 才能放置旗子。地图是随机的,所以每次提交都不一样。

编程的目的就是为了自动处理各种情形。基于不同状态做不同事情的主要工具是if和else,用法像这样:

a=3

b=9

if(a>b):

self.say("数学出问题了!")

self.soundTheAlarm()

else:

self.say("数学还奏效。")

self.sleep()

本例中,if块中的代码(也就是第一对{}之间的代码)永远不会执行,因为3永远不会大于9.只有else块会被执行。

真和假

if块要执行,if后括号内的值必须为真。如果值为假,else块就会执行(如果有else块的话)。JavaScript中只有少数几个假值:

  • undefined(未定义)
  • null
  • 0(数字0)和NaN(JavaScript中的一种特殊数字)
  • "" (空字符串)
  • false

其他所有值都为真:

  • 所有对象
  • 所有数组
  • 所有非0非NaN的数字
  • 所有非空字符串
  • true

上面的例子中,a>b的值是false,所以if块不会执行,else块则会执行。

丰富的觅食 解法

# 使用 if 和 else if 来处理任何情况

# 放置它来防御敌人,收集金币

# 确保你从物品商店买到伟大的盔甲,建议400点以上的健康。

while True:

flag = hero.findFlag()

enemy = hero.findNearestEnemy()

item = hero.findNearestItem()

if flag:

# 当我发现旗子的时候发生了什么?

hero.pickUpFlag(flag)

elif enemy:

# 当我找到敌人的时候发生了什么?

hero.attack(enemy)

elif item:

# 当我找到一个物品的时候,发生了什么?

hero.moveXY(item.pos.x, item.pos.y)

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

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

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

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