jsrobot攻略
18 Jul 2014无意间打开了 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步还是右上角。 因此我们,不对,这里没提供定时器。。。没关系,自己造一个。
这里要注意一点,就是斜着走时,要注意是先左右还是先上下。
第4关
还是第三关的题目,只是给了我们定时器,还说移动不了的时候方法会返回false
当时没想到啥idea,第三关的代码拿过来换个变量名就行了。可以参考公子的idea
第5关
介绍R.destroy
的用法,还有正则。别忘了向右走哦。
突然,代码好多萌表情。
第6关
介绍R.standingOn(char)
的用法,地图里只要遇到^就向上走就可以了。
—–伤心分割线,写完13关后保存不能,草稿只保存到第6关,累爱—–
第7关
题目说R.standingOn()
不带参数的时候返回的是所在的字符;而且基本的字符都有个固定指向。因此可以这么做:
第8关
正则表达式var key = '<don>key</don>';
第9关
别看那么复杂,其实从终点往回走,会发现,其实就是在5的左边那里会陷入死循环,那么,我只要判断站着”<”且准备向右的时候,忽略这次方向修改。
第10关
假设只是加一个R.right()
,那么当steps=4
时,counter
大于2,所以我们要组织steps自增时的一次counter自增。题目要求不能使用steps和counter,所以做法是先右移,一旦不能右移就左移。另外还有正则。
第11关
私有变量,我们没法改写,但是对象方法,我们可以重写。
第12关
坑!题目说的是不能用到guineaPig
的变量,然后提示不能使用destroy
,还以问句形式意在询问能否实现改变私有变量。
结果公子以一个间接destroy过关了。囧。
第13关
终于最后一关了,想想还有点小激动呢?//毛线,多花时间重新写一份,已经不激动了。 我发现可以用12关的招数cheat哦,那就继续吧。 呃,不过切合题意的做法应该是公子的那个解法。这里就不重复了。
码完,哭着碎觉。