codecombat

「网易官方」极客战记(codecombat)攻略-森林-罪与罚-reward-and-ruination

我的梦境 提交于 2020-08-11 14:53:10
(点击图片进入关卡) 证明自己价值的时刻到了,事实上,一举两得的办法是有的。 简介 把敌人和火炮的位置连贯成容易阅读和理解的字符串以便于火炮部队攻击。 enemy = hero.findNearestEnemy() enemyPos = enemy.pos.x + " " + enemy.pos.y #字符串拼接结果是: "43 20" hero.say("Enemy at: " + enemyPos) # 这样会说出这样的字符串: "Enemy at: 43 20" 默认代码 # 看起来食人魔酋长正在偷你的宝石啊! # 指挥两门火炮攻击敌人达成目标。 while True: enemy = hero.findNearestEnemy() if enemy: enemyPos = enemy.pos.x + " " + enemy.pos.y hero.say("敌人的位置是在: " + enemyPos) # 现在你遇到糖衣炮弹了 # 为什么不把糖衣也吃掉呢? # 找到道具的位置并且 # 说出火炮将要攻击的目标。 概览 就像前面关卡尝试的那样,字符串拼接可以在同一行中拼接多个字符串。 "Hello" + " " + "World" + "!" 结果等价于 "Hello World!" . 为了通过这一关,你需要把敌人和宝石的位置拼接成容易理解的字符串,以便于火炮部队的攻击。

「网易官方」极客战记(codecombat)攻略-沙漠-重重试炼-the-trials

时间秒杀一切 提交于 2020-08-11 03:05:15
(点击图片进入关卡) 三轮沙漠试炼等待着你的英雄。这是一关由玩家创建的耐力挑战。警告:这一关极度、超级、惊人的困难! 简介 欢迎来到Mordrath的试炼, 你将有机会入侵不少于四个的食人魔营地,并以此证明你的勇气! 阅读提示以获得更多详细的指导。 这是一个挑战关卡。 所以完成的方法会有很多种。 默认代码 # 本关是专为高级玩家准备的。解决方案应该是非常的复杂的,使用了大量的招数。它可能是一种类似齿轮检查的精细活,除非你使用“创造性”的方法。 # 你需要到第一个审判的地点(玛尔绿洲),杀死前进的道路上的敌人。当你达到那里,捡走所有的蘑菇触发的审判开始。如果你在冲击活下来,你会进入下一个绿洲进行第二次审判,然后是寺庙。当所有的审判都完成后你将不得不面对最终BOSS。祝你好运! # 提示:在本关具有高可见范围的眼镜会有极大的帮助,所以尽可能的买好的眼镜吧。 # 提示:绿洲守卫单位的类型是「oasis-guardian」 概览 首先到达Marr绿洲。 开始后,魔术蘑菇就会出现在周围。 (提示:你可以查看试炼的名称和信息,同角色一样,点击它就行了!) 收集了所有蘑菇之后,你就能得到完全治愈。 之后,你将遭遇绿洲守护者的猛攻高潮! 在接下来的两轮试炼,即Anele绿洲和Mirth神庙中,重复这一过程。 如果你还活着,试炼大师将会再次为你完全疗伤,让你为古神遗迹上的最后考验做好准备。

「网易官方」极客战记(codecombat)攻略-森林-白兔-white-rabbit

这一生的挚爱 提交于 2020-08-10 09:46:16
(点击图片进入关卡) 你最好跟着那只白兔。哦,我是说发光石 简介 房间里满是陷阱。别担心,跟着闪亮的石头走。 闪亮的石头是一个物品,你可以用英雄的 findNearestItem 方法找到它。 尝试通过移动到石头的位置收集它。它很快,但它会引导你到出口。 每个项目都有属性 pos ,其中包含项目位置。对象( pos )具有属性 “x” 和“y”。 用它们来寻找你应该移动的地方。 默认代码 # 跟随闪光石的头通过陷阱。 while True: item = hero.findNearestItem() if item: # 使用 item.pos 将物品位置保存为一个新的变量: # 使用 pos.x 和 pos.y 保存坐标 # 使用 moveXY() 和 X 与 Y 变数移动至坐标 pass 概览 每个物品都是对象,它是一种数据类型,如字符串或数。 对象包含其他数据片段,称为属性。 每个项目对象(和每个单元)都有一个 pos 属性,代表它的位置。 每一个 pos 本身都是一个对象,它具有 x 和 y属性,你可以用 moveXY 和 / 或 buildXY 来使用。 此外,您可以直接引用 x 和 y 而不使用变量: item = hero.findNearestItem() if item: hero.moveXY(item.pos.x, item.pos.y) 白兔 解法 #

「网易官方」极客战记(codecombat)攻略-森林-宝石或者死亡-gems-or-death

吃可爱长大的小学妹 提交于 2020-08-10 06:19:58
(点击图片进入关卡) 使用 if 条件判断来决定:你要宝石还是要死? 简介 修改 if语句 的条件改变下面的代码的行为,想执行的代码就改成 true ,不想执行的就改成 false 。 还记得 == 操作符意思是 "等于" 吗? 1 + 2 == 3 是 真 。 3 + 3 == 5 是 假 。 默认代码 # 在 if 条件下的命令只有在条件为真的时候运行。 # 修复所有的 if 条件判定来赢得本关 # ==的意思是等于 if 1 + 1 + 1 == 3: # ∆ 让条件不成立。 hero.moveXY(5, 15) # 移动到第一个地雷位置 if 2 + 2 == 5: # ∆ 让条件成立。 hero.moveXY(15, 40) # 移动到第一个宝石的位置 。 # !=的意思是不等于 if 2 + 2 != 4: # ∆ 让条件成立。 hero.moveXY(25, 15) # 移动到第二个宝石的位置 。 # <的意思是比什么小 if 2 + 2 < 3: # ∆ 让条件成立。 enemy = hero.findNearestEnemy() hero.attack(enemy) if 2 < 4: # ∆ 让条件不成立。 hero.moveXY(40, 55) if True: # ∆ 让条件不成立。 hero.moveXY(50, 10) if False: # ∆

「网易官方」极客战记(codecombat)攻略-沙漠-疯狂的 Maxer-mad-maxer

笑着哭i 提交于 2020-08-09 05:12:41
(点击图片进入关卡) 写点聪明的代码来追赶远方的敌人。 简介 烦人的诱饵扰乱你的视线。 寻找最远的敌人,因为诱饵会缠绕在你身边。 最远的敌人有最大的 distanceTo 。 默认代码 # 优先杀掉最远的敌人。 while True: farthest = None maxDistance = 0 enemyIndex = 0 enemies = hero.findEnemies() # 查看全部敌人,找出最远的那个。 while enemyIndex < len(enemies): target = enemies[enemyIndex] enemyIndex += 1 # 是不是存在远得看不到的敌人? distance = hero.distanceTo(target) if distance > maxDistance: maxDistance = distance farthest = target if farthest: # 干掉最远的敌人! # 如果敌人血量大于0就保持攻击。 pass 概览 这关的目标是首先瞄准最远的敌人。因为那才是攻击你的敌人,而其他的诱饵靠得很近。 示例代码告诉你怎么完成任务:使用 while 循环遍历敌人数组。 将 maxDistance 初始化为 0,这样第一个敌人怎样都比它远。 然后,对于数组里的每个敌人,你要把它的距离和

「网易官方」极客战记(codecombat)攻略-森林-以静制动-stillness-in-motion

谁说胖子不能爱 提交于 2020-08-08 19:06:28
(点击图片进入关卡) 通过使用嵌套 if 语句停留在中间。 简介 将每个 if/else 考虑成一个容器,其中又可以容纳另一个 if/else 结构!参见: enemy = hero.findNearestEnemy() if enemy: if enemy.type == "munchkin": hero.say("我看到一个矮人!") else: hero.say("我看见其他类型的敌人!") else: hero.say("我没有看见任何敌人...") 缩进 一定要小心。 默认代码 # 你可以将一个if语句放到另一个if语句当中。 # 你必须注意这些if语句是如何互相影响的。 # 请确保代码缩进正确! # 从外层if/else结构开始会有帮助 # 使用注释为内层if/else占位预留空间: while True: enemy = hero.findNearestEnemy() # 如果有敌人出现,那么就... if enemy: # 使用distanceTo创建一个距离变量 # 如果敌人与你的距离小于5米,那么就攻击它 # 否则(这名敌人还离得很远),就使用shield pass # 否则(没有敌人)... else: # …那么,回到X位置。 hero.moveXY(40, 34) 概览 在这一关中,为了不让猎头者看见你,你必需停留在中间的区域! 你将会使用 嵌套 if

「网易官方」极客战记(codecombat)攻略-森林-交给屠夫-leave-it-to-cleaver

大兔子大兔子 提交于 2020-08-08 14:02:30
(点击图片进入关卡) 使用函数参数保卫家园。 简介 函数 cleaveWhenClose 定义了一个参数,叫作 target: def cleaveWhenClose(target): if hero.distanceTo(target) < 5: # 在这里cleave或是attack 这能在调用函数时将 enemy 作为参数传给函数: cleaveWhenClose(enemy) 默认代码 # 这里展示了如何定义一个叫作cleaveWhenClose的函数 # 函数定义了一个参数,名为target def cleaveWhenClose(target): if hero.distanceTo(target) < 5: pass # 将你的攻击代码放到这里。 # 如果cleave准备就绪,那就劈斩目标 # 否则,使用attack攻击目标! # 这段代码不是函数的一部分。 while True: enemy = hero.findNearestEnemy() if enemy: # 注意在cleaveWhenClose内部,我们用target指向敌人。 cleaveWhenClose(enemy) 概览 之前的关卡中,你将参数传递给了函数。在使用 hero.say("Hello!") 时,你将字符串 "Hello!" 作为参数传给了函数 say 。 现在,你要学习定义形式参数

「网易官方」极客战记(codecombat)攻略-森林-盐碱地-salted-earth

心不动则不痛 提交于 2020-08-08 05:17:21
(点击图片进入关卡) 保卫森林定居点开始。 简介 这个关卡引入了布尔 “or” 的概念。 在两个布尔值之间放置一个 or 将返回一个布尔值,就像 + 需要 2 个数字并且吐出另一个数字一样。 如果前或后的值为 true,则返回 true; 如果两者都为 false,则返回 false。 # 布尔或写作'or' hero.say(False or False) # 英雄说'False' hero.say(False or True) # 英雄说'True' hero.say(True or False) # 英雄说'True' hero.say(True or True) # 英雄说'True' 默认代码 敬请期待! 概览 这个关卡引入了 boolean or 的概念。在两个布尔值之间放置一个 or 将返回一个布尔值,就像 + 需要 2 个数字并且吐出另一个数字(在这种情况下为总和)。 请记住,布尔值是单个数据,“真” 或 “假”。如果前或后的值为 true,则返回 true; 如果两者都为 false,则返回false。 # 布尔或写作'or' hero.say(False or False) # 英雄说'False' hero.say(False or True) # 英雄说'True' hero.say(True or False) # 英雄说'True' hero.say

「网易官方」极客战记(codecombat)攻略-森林-Burls 教你学 布尔-burls-beets-booleans

大城市里の小女人 提交于 2020-08-06 09:10:10
(点击图片进入关卡) 你能战胜 Burl 的布尔问题吗? 简介 对于 Burl 的问题,回答 true 真 或者 false 假! 要看看每一行上面的注释哦! 默认代码 # 布尔值要么是真 True 要么是假 False # == 表示 ”等于吗“? # 所以, A == B 是在问:”A 是等于 B吗?“ # 答案会是一个布尔值! # 如果太难了,点一下”Hints“ 提示按钮! # 问题: 2 == 3 # 回答正确的答案: hero.say(False) # 问题: 3 == 3 # 回答 True 真 或者 False 假 2: hero.say("”我不知道额“") # 问题: "Three" == 3 # 回答 True 真 或者 False 假 3: hero.say("”我不知道额“") # 问题: "Three" == "Three" # 回答 True 真 或者 False 假 4: hero.say("”我不知道额“") # 问题: 1 + 2 == 3 # 回答 True 真 或者 False 假 5: hero.say("”我不知道额“") 概览 什么是 Boolean 布尔? 布尔描述的是一种类型的数据,就跟字符串和数字一样,描述的是不同的数据。 字符串描述的是文本,一般在双引号里面,像这样 "这是一个字符串" 。 布尔值要么是 TRUE 真 或者是

「网易官方」极客战记(codecombat)攻略-森林-森林矿工-forest-miners

守給你的承諾、 提交于 2020-07-29 09:49:50
(点击图片进入关卡) 挖宝石是一个危险的工作! 简介 你需要防止食人魔骚扰这些矿工。 首先,填写好 checkEnemyOrSafe() 函数。 只在没有食人魔时呼叫农民,否则攻击食人魔会吸引注意力 然后查看检查右上 X 标记和左下 X 标记的代码。 默认代码 # 检查工人们是否能安全通过雷区。 def checkEnemyOrSafe(target): # 如果`target`(参数)存在: # 然后攻击目标 # 否则: # 使用say()来叫农民。 pass while True: # 移动到并检查右上的X标记。 hero.moveXY(64, 54) enemy1 = hero.findNearestEnemy() checkEnemyOrSafe(enemy1) # 移动到左下的X标记处。 # 将findNearestEnemy()的结果存到一个变量中。 enemy2 = hero.findNearestEnemy(); # 调用checkEnemyOrSafe,并传递 # findNearestEnemy的结果作为参数 概览 在前面的关卡中,你学会了如何编写和调用带有参数的函数。 如果这一关你有问题,你可以返回前面的关卡重新熟悉函数相关的知识。 森林矿工 解法 # 检查工人们是否能安全通过雷区。 def checkEnemyOrSafe(target): # 如果