小游戏 Untrusted 推荐及攻略

        Untrusted 是 Berkeley 的Alex Nisnevich 和 Greg Shuflin 开发的一款改代码走迷宫的小游戏,需要玩家利用超凡的想象力,在阅读相关API和给出的部分代码之后在自己的权限内写或者修改原始代码来完成看似不可能的任务,又名:The continuing adventures of DR. Eval。代码是基于javascript的。
        这个游戏非常好,我这里写攻略主要是希望的大家可以交流一下游戏心得,不希望大家来抄代码过关什么的...这样就没意思了...所以希望没有玩过的同学们可以先玩一下,等玩通之后或者卡在某个地方实在过不去之后再看下面的攻略。当然也很欢迎通关之后在下面回复交流心得。

(初始画面)
        chapter1(Breakout) 第1~7关
第1~4关(cellBlockA,theLongWayOut,validationEngaged,multiplicity)没有什么可说的,主要是给大家熟悉一下环境,都可以通过修改block的位置或者添加新的exit来过关。

(上图为第4关)
第5关(minesweeper):在有Mine的地方用颜色标记一下,然后绕过去就好了~
第6关(drones101):我的做法是在图的中间加一面水平的墙,然后就可以利用墙让attackDrone接触不到你。
第7关(colors):打电话来改变自己的颜色就好了。

(上图为第6关放了一个bosss秒掉attackDrone之后的效果。想知道bosss是什么请等到第20关chapter2(名字看不清楚...) 第8~14关
第8关(intoTheWoods):打电话执行generateForest函数来重置树木的位置。这样就可以在山重水复时刷个新,一点点走到终点。
第9关(fordingTheRiver):放一排raft就过去了...不过它可是有检查的哦~于是定义一个和raft一样的rraft就好了~不过放太多对象会卡死的...比如下面那张图的状态就是卡死了...

(上图为第9关放了好多rraft之后的样子,不过卡得很慢...可以少放点,够用就行...第10关(ambush):做一个墙再改一下它们的行为就好了。和第4关有点像。

(第10关) 第11关(robot):直接优先向右再向下就好了~ 第12关(robotNav):根据所处的横坐标位置来判断是向哪个方向...反正这关图是静态的。 第13关(robotMaze):这关我也没有什么好的方法...反正前一半的横坐标优先向右,其次向下,后一般的横坐标优先向下其次向右的AI有比较大的概率可以过...于是就多刷几遍了...如果有更好的算法求教...%>_<%... 第14关(crispsContest):让它在过绿门的时候取走你没有的东西:theAlgorithm!反正它也不判断你有没有...只是取走而已....(可以证明在那个空里填钥匙的名字必然过不了。)

(第14关) chapter3(名字看不清楚...)最后若干关
第15关(exceptionalCrossing):将括号里的数连上引号换成随便什么东西吧~比如exit之类的,于是制造了exceptional,然后就过了...
第16关(lasers):标出每条线的颜色然后再写个phone函数来改变自己的颜色就好了。认真读读代码就会发现这一点的。

(第16关)
第17关(pointers):标出每个通向trap的teleporter的颜色,然后去试试吧~有可能会刷出无解图。

(第17关)
第18关(superDrEvalBros):打电话在需要的地方种树吧~这个东西可以接住你并且没有被检查而且还是个全局物种,多好~
第19关(documentObjectMadness):不知道...没有可以改代码的地方...随便按按键就过了...
第20关(bossFight):感觉上这是最难的一关...只不过可能只是我的通过方法比较难吧...
      需要拿到theAlgorithm,就必须要kill掉所有的boss,否则会被查出来。(我曾经想过写一个初始带有theAlgorithm的机器人来交出theAlgorithm,但是没有成功,不知道为什么。)于是就需要定义一个projectile为真的有攻击力的物种。然后在地图上放上它们来秒杀boss。但是这样的物种必须是动态的,图上有一个初始动态对象个数的检查。于是就需要把生成这种东西的语句写进电话里。想要得到电话就需要东西挡雨,于是就种了一排树。然后就可以了~

(第20关)
第21关(endOfTheLine):这关很坑,注释中连NP=P都写出来了...代码中还有map.finalLevel = true;,并且没有可以让人改的地方,让人以为后面没东西了....但是打开menu发现后面还有一关。然后发现menu中多出了scripts一栏,于是发现里面还有可以改的代码。在objects.js里找到exit的定义,发现出口出不去的原因原来是:if (!game.map.finalLevel) { game._moveToNextLevel();,于是将!去掉就好了~

于是就通关了,看到第22关也就是终场动画~




如果我有什么地方写得有问题或者你有什么想法或者好点子什么的欢迎讨论~O(∩_∩)O~



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值