首先下载一张图片,用beer2.jpg时,提示用.png,然后就能下载一张图片了。网页源码里面有一段提示:
<!--
If you are blinded by the light,
remove its power, with its might.
Then from the ashes, fair and square,
another truth at you will glare.
-->
但还不是特别明白啥意思,搜了一下才知道,大致意思就是不短的去掉颜色最高的两组点,同时用剩下的点画图,画图时不是颜色不是最高的点一律作暗色对待。
import Image,math
img = Image.open('beer2.png')
f = img.getdata()
color = img.getcolors()
for i in range(65,-1,-2):
s = []
t = []
for j in f:
if j!=color[i][1] and j!=color[i-1][1]:
s.append(j)
t.append(0)
else:
if j==color[i][1]:
t.append(1)
else:
t.append(0)
f = s
n = int(math.sqrt(len(t)))
new = Image.new('1',(n,n))
new.putdata(t)
new.save('out33\%d.png' % ((i-1)/2))
最后一共生成33幅图片,每个图片中都包含一个字母,但有的字母周围有方框,这些字母组成为:gremlins也就是最终的答案。
=================分割线==================
这个相当古老的网页挑战游戏终于通关了,回想起来这个游戏的设计非常有意思,同时每一关都非常的精彩,即使通关了也值得再回过头把玩一番。我自己也从一个Python初学者开始稍稍入门了,一些常用的语法、模块也相对熟悉了不少,总体感觉收获颇丰:)