资讯专栏INFORMATION COLUMN

JSRobot 通关攻略

haobowd / 2331人阅读

摘要:群里的今天问了个问题,源自上的一关。看了下,跟差不多,也是一个代码通关游戏,觉得挺有趣,遂玩了一遍。现放上我的通关攻略。首先放上游戏地址这关是教学关,按照文字描述直接输入即可通关。代码这一关的目的是要创造一个函数,使得其既返回又返回。

群里的 @krew 今天问了个问题,源自JSRobot上的一关。看了下JSRobot,跟Untrusted差不多,也是一个代码通关游戏,觉得挺有趣,遂玩了一遍。现放上我的通关攻略。

首先放上游戏地址: http://JSRobot.tk

Level 0

这关是教学关,按照文字描述直接输入R.right()即可通关。

Level 1

方向移动函数教学关,代码:

R.right() && R.down()
Level 2

move函数教学关,重新定义var direction = "right"; 即可。

Level 3

这关我也没想那么多,直接一步一步自己移上去了,欢迎更简单的方法。代码:

function go(direction, times) {
    times = times || 1;
    for(var i=0;i

懒人进阶版:

["left","right","up","down"].forEach(function(d){
  window[d] = function(times) {
    times = times || 1;
    for(var i=0;i
Level 4

这关告诉我们如果下一步移动撞墙的话函数就会返回false,这个给了我一个好点子。话不多说放代码:

var d = ["up", "right", "down", "right", "up", "left"];
if(!R.move(d[temp])) temp++;
Level 5

正则和destroy教学贴,正则很简单,匹配的是非a-z0-9的字符,随便来一个即可。代码:

(key = "$") && R.right();
Level 6

standingOn函数教学帖,代码:

if(R.standingOn("^")) R.up();
Level 7

standingOn函数小进阶,代码:

var d = ["up", "down", "left", "right"];
if(R.standingOn("-")) temp = 3;
else if(R.standingOn("+")) temp = 2;
else if(R.standingOn("2")) temp = 1;
else if(R.standingOn(">")) temp = 0;
R.move(d[temp]);
Level 8

这题就是简单的考正则了,同标签包裹内容为key即可。示例代码:

var key = "
key
";
Level 9

这关的话希望大家不要被上面的各种符号迷惑,总的来说从Robot位置到达f的路线是先往右直走,然后再向下直走,或者是先向下直走然后往右直走。这里的小技巧就是使用return把下面不相关的代码全部屏蔽掉。代码:

if(!R.right()) R.down();
return true;
Leve 10

这关的难点在于如何让steps = 4,因为按照正常思路的话当到达1位置的时候steps == 2的。这里的解决方法是先右移一次,然后左移一次,再右移。这样就增加了steps移动的次数了。另外一个需要注意的是正则那部分,不要被1给骗了,这个不是后项引用,就是正常的字符串。代码:

if(!R.right()) R.left();
key = "123";
Level 11

教学帖,直接重新定义函数使其返回true即可。代码:

guineaPig = {
    getKeyFromStomach: function() {return true}
};
R.right();
Level 12

这关不能像上一关一样重新定义函数了,因为明确告诉我们不能使用guineaPiggetKeyFromStomach变量了。由于我们是无法拿到闭包函数里面的key变量的,所以无法对其值进行更改。但是我们可以另辟蹊径,自己写代码去销毁而不是用它的代码,由于不能明目张胆的使用destroy函数,所以我们需要对其进行一些处理才行。代码:

R["d e s t r o y".split(" ").join("")]("right");
R.right();
Level 13

这一关的目的是要创造一个函数,使得其既返回true又返回false。当然,我们要是被这个表象迷惑的话也会困扰一番的。本关的key在于函数运行了两次。代码:

var a = -1, key = function() {return a++}
R.right();
总结

相对于Untrusted来说,还是非常容易的,好几关都是教学关比较轻松就能过去了。相对难一点的关卡活用大脑的话也是比较轻松过了,此外正则考的比较多,当然也算是容易的正则就是了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87575.html

相关文章

  • JSRobot闯关小攻略

    摘要:可以参考公子的第关介绍的用法,还有正则。第关终于最后一关了,想想还有点小激动呢毛线,多花时间重新写一份,已经不激动了。 无意间打开了 JSRobot. 闯关,我喜欢,于是开始了jsrobot的闯关之旅。其实就13关。 关卡都是以setInterval()定时器来执行操作,所以主要模式就是给定时器具体执行内容. 第0关 入门篇,在一个漆黑的夜晚,哦,不,是界面,走到f处就算结束。...

    苏丹 评论0 收藏0
  • 技术人攻略访谈三十五|小猴机器人:征途路上,星辰大海

    摘要:导语本期访谈对象小猴机器人,清华人工智能专业博士在读。或许因为成长于广袤的内蒙,小猴身上带着大山和草原一般的洒脱与乐观,在他钟爱的无人车上,印上了一个美好的我们的征途是星辰大海。技术人攻略除了规则挖掘,人工智能遇到的难题还 showImg(https://segmentfault.com/img/bVc1yA); 文:Gracia,摄影:周振邦 (本文为原创内容,部分或全文转载均需经作...

    siberiawolf 评论0 收藏0

发表评论

0条评论

haobowd

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<