@ 2013.03.09 , 10:12

Google I/O 页面有彩蛋

[-]
#由于PNG转换JPEG后有过压缩,因此下面的代码比较模糊。在 Zak El Fassi的原文里面有所有的代码,码农蛋们可以自己去看~

如果这两天你点击过Google I/O 2013的页面,在页面里面轻轻抚摸出oioi等等序列,比如IIIOOIII,那么I/O的图标就会变成一个由猫咪们组成的图标。I/O页面的彩蛋一共有12种, Zak El Fassi找到了所有密钥序列以及找出密钥的方法。

以下12个OI序列就是Google I/O页面所有的彩蛋:

Cat : IIIOOIII
Space: OOIOIOIO
Pong : IOOOOOOI
Bacon : IOOIOOOO
Simone : IIOIOOII
Eightbit : OIOIOOII
Synth : IOOOIOOO
Song : IIOIIOII
ASCII : OIIIIIII
Bowling : OIIIOIOI
Rocket : OIOOOIOI
Burger : OOIIIOOI

发现的方法如下:

和OIOI有关的主要代码都储存在页面 /js/app.min.js 中,但是,由于代码都是编译后的产物,直接阅读相当吃力。幸好有了Chrome的Sight插件,能够让代码看起来简洁一点。不过,整理后的代码仍然不是给人读的。

于是,我(#原作者)把所有代码扫了个遍,希望能找到彩蛋的迹象,结果找到了这个:

[-]

这段话带来的信息并不够,不过我仍有机会去看清谜团背后的真相。于是,我又查了查 ww.mode.register 这个函数,代码如下所示:

[-]

好的,现在我又得搞明白 Klass 、Pattern 、Len 的含义了。我先查找了klass这个词,毕竟这个词很特别,查找到的几率特别大。呵呵,下面的东西就出来了,这段代码解释清了好多东西。

[-]

在这里,我们还需要搞明白三个东西的作用:ww.util.pad、 d.patternd.len

ww.util.pad可能是一个与d.len进制转换相关的函数(代码如下),而上面递交的参数d.len = 8,8禁止转换。d.pattern 就是先前 ww.mode.register 里面的参数c

[-]

好了,现在啥都清楚了。我只要重新把这个 ww.util.pad 写成一个独立的函数就好了。
[-]

本文译自 Gizmodo,由 pwwp 编辑发布。

支付宝打赏 [x]
您的大名: 打赏金额:
赞一个 (1)