16 岁以下不要再玩手机了!
偶尔看到这个游戏,玩到二十多关发现实在有点变态,但又不甘心,遂产生了破解的念头。一开始是想直接在屏幕上标点标出颜色不一样的格子,但后来想起屏幕画点需要调用系统 API,Mac 下开发的 win 不能用…… 只好换思路。
之后想的是用 PIL 截屏然后分析图像文件,但又总觉得这样做速度会太慢而且杀鸡焉用牛刀。F12 看了下这页面也就是拿 JS 生成了一大堆 HTML 色块,直接读源码就可以分析,那这样的话用类似爬虫的思路不就行了?
单纯的 web 爬虫肯定行不通,因为要模拟点击进入下一关,而每关的色块和答案位置都是不一样的,因此最好的解决方案还是模拟浏览器,遂直接用 Selenium+Safari。
整体还是比较简单,都是一些 Selenium 的基本操作,是个适合入门练手的站。
代码如下,Gist在这里。相对于 Gist 里的内容加了一些说明注释。
1 | from selenium import webdriver |
大概测试了几次,最好成绩是 407 分🦅。

这个游戏后期的颜色差异个人认为已经超过了肉眼感知极限。第 22 关开始不同色块的 RGB 值每项仅仅差了 10,如 (108, 198, 199), (118, 208, 209)
;42 关开始成了 8,52 关开始到 400 + 关更是降到了 5. 绝大部分人都是卡在了一般的屏幕就已经显示不出差别的 22 关,而 52 关开始几乎不可能认出来,况且 60s 的时间限制也让手慢的人不可能到更高关卡。