python脚本打google首页的糖果篮子游戏

chrome的主页新建标签会有logo游戏, 今天的是打糖果篮子掉糖果的小游戏。因为是google 15年生日.

后记: 这两天新建标签看不到这个游戏了,这个游戏的地址是: http://www.google.com/doodles/googles-15th-birthday

注意: 现在这个页面比新建标签的页面长, 如果当前焦点不在游戏部分, 按空格键会变成pagedown下一页的功能, 所以需要先点一下游戏区, 不需要点游戏界面, 否则会挥出一棒子击打篮子, 只要点<>左右箭头之间, 除了游戏界面的灰色区域, 就可以使键盘输入焦点处于游戏可以接收按键的状态. 

当然, 你也可以审查元素, 删掉下面那一堆没用的html元素, 然后使焦点处于游戏区.

开始之后, 按照一定的时间间隔按空格键, 小盲人会挥动棒子击打糖果篮子,然后会掉下糖果。击打10次之后,游戏结束。

python脚本打google首页的糖果篮子游戏_第1张图片


这是我手工玩的最高分了。

击打的关键就是要在篮子下落的最快速度的时候,尽力挥出你的那一棒子,才能掉下最多的糖果。

打着打着,觉得不过瘾,就想到用程序来打,为了减少手工操作,不用老是用手去按空格键,我用python写了个小脚本来打这个游戏。

1. 到这里下载 autopy        https://pypi.python.org/pypi/autopy/
2. 下载我上传的击打脚本自己修改, 主要是调整击打时间的间隔

用我写的candies.py击打糖果篮。这个脚本附在最后面。

使用方法:

1. 修改脚本
2. 执行脚本, 然后在3秒中之内切换到chrome浏览器
3. 3秒钟后, 你就看到它开始打了


关键的关键就是,调整好你的按键时间间隔。
脚本使用autopy这个跨平台的库,来调用你的按键,比如按空格键,A-Z,Shift,Alt,Ctrol等等, 这个小游戏里只需要按空格键。

candies.py

#!/usr/bin/env python

"""
Play http://www.google.com/doodles/hurdles-2012 .
Code based on https://gist.github.com/3287367 . 
"""

import time
from autopy import key


def play():
    print '# switch to the candies game in your browser (you have 3 seconds)'
    time.sleep(3)
    s = time.time()
    n=0
    while time.time() - s < 15:
        n=n+1
        ##for _ in range(14):
        ##    key.tap(key.K_LEFT)
        ##    key.tap(key.K_RIGHT)
        key.tap(' ')
        if n<4:
            time.sleep(0.01*n+0.1)
        else:
            time.sleep(0.12)

#############################################################################

if __name__ == "__main__":
    play()

有人说python能做游戏外挂,这个不是假话,只是比较复杂的外挂可能比较难做而已。


说说结果,通过不断的调试, 我的脚本打出了155分的成绩。

当然,不是上面的脚本,具体的就看你自己的调试了。


这是一个较量。。。


已经用脚本打到了170分了.

你可能感兴趣的:(python脚本打google首页的糖果篮子游戏)