资讯专栏INFORMATION COLUMN

JSRobot闯关小攻略

苏丹 / 2282人阅读

摘要:可以参考公子的第关介绍的用法,还有正则。第关终于最后一关了,想想还有点小激动呢毛线,多花时间重新写一份,已经不激动了。

无意间打开了 JSRobot.

闯关,我喜欢,于是开始了jsrobot的闯关之旅。其实就13关。

关卡都是以setInterval()定时器来执行操作,所以主要模式就是给定时器具体执行内容.

第0关

入门篇,在一个漆黑的夜晚,哦,不,是界面,走到f处就算结束。
那就 R.right();运行,走好不送了。

第1关

神马?不走直线了? 行呗。斜着走。
R.right()&&R.down();

第2关

哦,换了个方法,R.move(directionString)
direction赋值, var direction = "right";
慢走啊亲。

第3关

开始感觉不简单了,ok,我们模拟着走一遍。
总共八步,1、2步右上角方向,3、4步右下角方向,5步右,6、7步还是右上角。
因此我们,不对,这里没提供定时器。。。没关系,自己造一个。

var step = 0;
setInterval(function(){
   switch(step){
     case 1:
     case 2:
     case 7:
       R.up();
       R.right();
     break;
     case 3:
     case 4:
       R.right();
       R.down();
     break;
     case 5:
       R.right();
     break;
     case 6:
       R.right();
       R.up();
     break;
   }
   step++;
},500);

这里要注意一点,就是斜着走时,要注意是先左右还是先上下。

第4关

还是第三关的题目,只是给了我们定时器,还说移动不了的时候方法会返回false
当时没想到啥idea,第三关的代码拿过来换个变量名就行了。可以参考公子的idea

第5关

介绍R.destroy的用法,还有正则。别忘了向右走哦。

key = "A";
R.right();

突然,代码好多萌表情。

第6关

介绍R.standingOn(char)的用法,地图里只要遇到^就向上走就可以了。

if(R.standingOn("^")){
 R.up();
}

-----伤心分割线,写完13关后保存不能,草稿只保存到第6关,累爱-----

第7关

题目说R.standingOn()不带参数的时候返回的是所在的字符;
而且基本的字符都有个固定指向。因此可以这么做:

switch(R.standingOn()){
    case "_": case ">":
        temp = "up";
        break;
    case "-":
        temp = "right";
        break;
    case "+": 
        temp = "left";
        break;
    case "2":
        temp = "down";
        break;
    default:
        break;
}
R.move(temp);
第8关

正则表达式
var key = "key";

第9关

别看那么复杂,其实从终点往回走,会发现,其实就是在5的左边那里会陷入死循环,那么,我只要判断站着"<"且准备向右的时候,忽略这次方向修改。

if(R.standingOn("<")&&direction=="right"){
R.right();
return;
}
第10关

假设只是加一个R.right(),那么当steps=4时,counter大于2,所以我们要组织steps自增时的一次counter自增。题目要求不能使用steps和counter,所以做法是先右移,一旦不能右移就左移。另外还有正则。

if(!R.right()){
    R.left();
}
key = "123";
第11关

私有变量,我们没法改写,但是对象方法,我们可以重写。

guineaPig.getKeyFromStomach = function(){return true;};
R.right();
第12关

坑!题目说的是不能用到guineaPig的变量,然后提示不能使用destroy,还以问句形式意在询问能否实现改变私有变量。
结果公子以一个间接destroy过关了。囧。

R["des"+"troy"]("right");
R.right();
第13关

终于最后一关了,想想还有点小激动呢?//毛线,多花时间重新写一份,已经不激动了。
我发现可以用12关的招数cheat哦,那就继续吧。
呃,不过切合题意的做法应该是公子的那个解法。这里就不重复了。

key = function(){};
R["des"+"troy"]("right");
R.right();

码完,哭着碎觉。

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

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

相关文章

  • JSRobot 通关攻略

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

    haobowd 评论0 收藏0
  • 面试闯关1

    摘要:面试闯关在面试过程中,总会被问到一些你用到过但是记不清一些零碎的知识,现在做一下总结。在兼容模式中,页面以宽松的向后兼容的方式显示模拟老式浏览器的行为以防止站点无法工作。作为对象原型链的终点。格式采用键值对,例如参考面试总结 面试闯关1 在面试过程中,总会被问到一些你用到过、但是记不清一些零碎的知识,现在做一下总结。 第一部分:HTML+CSS 1.常用那几种浏览器测试?有哪些内核(L...

    malakashi 评论0 收藏0
  • 面试闯关1

    摘要:面试闯关在面试过程中,总会被问到一些你用到过但是记不清一些零碎的知识,现在做一下总结。在兼容模式中,页面以宽松的向后兼容的方式显示模拟老式浏览器的行为以防止站点无法工作。作为对象原型链的终点。格式采用键值对,例如参考面试总结 面试闯关1 在面试过程中,总会被问到一些你用到过、但是记不清一些零碎的知识,现在做一下总结。 第一部分:HTML+CSS 1.常用那几种浏览器测试?有哪些内核(L...

    cgspine 评论0 收藏0

发表评论

0条评论

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