大家好,我是DD,疫情原因,人已离开美国,回到了祖国的怀抱。再次入职了一家互联网公司。
周末闲着无聊,追完了《鱿鱼游戏》,突发灵感,这剧这么火,线下的商家会不会跟进,在某团App里搜了一下,果然有一家鱿鱼游戏主题馆,看评论,这家店以前是搞密室逃脱的。这聪明的小脑袋瓜转的还挺快,密室逃脱和鱿鱼游戏不就换个名字一样玩嘛。之前玩过几把密室逃脱,初次体验是很新鲜,多去几次也就那平平无奇几个套路,虽然NPC们很努力,但是该配合你演出的我却演不了视而不见。这次对《鱿鱼游戏》中毒太深,迫不及待的过去体验一把。
穿着新买的AJ,听说每个穿AJ的男孩运气都不会差,这把稳了。
半小时后就站在了体验馆前面,“鱿鱼游戏体验馆”这几个烫金大字虽然很俗,但是看到旁边的 ●▲■,我就知道有内味了。
鱿鱼游戏规则:赢的人不仅本单免费,还赠送奖金1000元,每过一关加1000元,老板也是《鱿鱼游戏》真爱粉啊,钱不重要,重要的是开心!
一个密室房间,墙上每人一块屏幕,触摸屏,屏上有一个chrome浏览器,一个软键盘,和提交程序,但是没有网,在chrome浏览器中,界面是熟悉的chrome小恐龙。
游戏规则就是在17分钟内分数到达10000分,电脑上有提交程序,贴上游戏截图,系统管理员判定正确即可过关。时间到了,没有过关的,脚下的地板会打开直接掉下去,估计是掉进水里吧。
我的AJ可不能进水啊!
chrome小恐龙游戏很简单,小恐龙在奔跑,遇到障碍按空格跳过去,只要小恐龙一直存活,得的分数越高。5分钟的时间达到10000分,理论上是有可能的,小恐龙的得分是在小恐龙存活期间按数字累计的,1秒得10分,1000秒得10000分,1000秒等于16分40秒,规定时间17分钟。我想剩下的20秒是给截图提交的吧。
但是实际操作起来,显然来不及,除非零失误,哪怕一开始零失误,越到后面只要失误一次,就要推倒重来,基本上就判定game over了。
大家一看游戏简单,根本不会计算这些时间问题,小恐龙死了再重新开始玩的不亦乐乎。
或许今天有AJ加持,小恐龙一路跳的很稳,从白天跳进黑夜,分数也在不断攀升。顾不得其他小伙伴的战况如何,我只是一个遇障碍就挑起的机器龙。不知不觉时间过去了十几分钟,
屏幕上突然出现了倒计时数字,59、58、57……这么一下子就把节奏打乱了,心跳加快,完全顾不上呼吸,不一会脑子一片空白,嘴里不断重复AJ,AJ,AJ,AJ,AJ,AJ……手也不听使唤了,果然手一抖,小恐龙碰到了障碍,看着好不容易积累起来的分数突然清零,心理别提多难受了。更难受的是,我的AJ今天要保不住了,叹了口气,新鲜的空气再次进入大脑,一个激灵像电流传过大脑,AJ不能湿!AJ不能湿!我收到了神秘宇宙传过来的暗号。
这时还有30秒,我突然意识到,小恐龙是浏览器自带的一段程序,那么,它必然有一个全局变量控制着这个小恐龙,按下F12调出console控制台,输入Object.keys(window),查看全局变量,好家伙258个全局变量。
时间不多了,不报希望了,权当落水前的无聊消遣把,打开这一个个全局变量,希望能查到dragon或者game等关键字,匆匆扫过一眼,貌似也没有,谷歌公司应该不会使用这种不专业的命名吧,如果是我,我肯定命名的更专业,就像在使用IntelliJ IDEA的时候,运行代码按钮肯定不能写个取个“小鸡快跑”的名字,他们就必须是严格的run,debug,或stop。
等等,这么说,游戏开始就是程序开始运行,它的命名肯定也离不开run或start等字段,这样一说,范围更小了,258个变量一扫而过,在最后几个变量里,赫然写着Runner,没错就是它了。赶紧在console里输入Runner,结果显示是一个函数,返回Runner.instance_
console里继续输入Runner.instance_,结果显示是一个对象,这样就好办了,对象在实例化的时候,他的成员函数也就可以对外提供功能了,找到它的成员函数,说不定能改写这个游戏的功能,打开它的prototype对象,谜题解开了。
prototype是个好东西,可以通过它可以给对象添加新的属性和方法,当然也可以自定义方法覆盖原方法,gameOver函数控制游戏结束,setSpeed控制游戏速度。那么重写这两个函数,就能控制小恐龙飞快的达到10000分。
//游戏结束方法为空
Runner.instance_.gameOver=function(){}
//运行速度为10000
Runner.instance_.setSpeed(10000)
在console中输入以上两段代码,重新开始游戏,失控的小恐龙迅速从白天跑到黑夜再次跑进白天,短短几秒,分数已达数万。看着飞速飙升的分数,内心仿佛万花盛开。
最后还剩倒计时还有10秒,赶紧截图提交,胜利了,长舒一口气,这短短几秒仿佛就像一生一样漫长,脚上的AJ仿佛在发光,幸灾乐祸的看着大家,大声倒数:3、 2、 1,一个一个,扑通,扑通,扑通……
紧接着突入其来的冰凉布满全身,喝了几口水,鼻子也吸进去一些水,我的第一反应是双脚往上抬,可惜为时已晚,AJ湿了。紧接着才意识到,我也掉进去了!md,劳资不是提交了吗?
我从一个大约5平米大小的充气泳池里爬出来,脚上的AJ很沉重,我的心很痛。
走路带水花的找老板理论。老板是个戴厚眼镜片的中年人,满面笑容的向我致歉,同时恭喜我过关了,我满腔的怒火仿佛即将喷薄而出:“湿了!AJ湿了!你知不知道,连女朋友都不能踩的AJ给你们整湿了!”
老板多少见过点风浪,尽管100双AJ在他眼里都不算什么,还是和颜悦色的向我道歉:“很抱歉,主要是审核人员刚审核完毕,您那边就落水了,这是我们的不严谨,希望不影响你的游戏体验。”
这体验可真是绝了,一口回绝了老板的客气,表示不再继续游戏,我要现金1000元,我要回家洗鞋,我cnmlgb。拿着1000元现金,迈着沉重的AJ,走出这家坑爹的鱿鱼游戏,不知我是赢了还是输了!