最近网上比较火的微信“跳一跳”小程序,刷爆了朋友圈,之后怀着好奇心在网上看到有大神自己写了一个python脚本,于是打算借来玩一下,倒腾了半天,各种配置,下面记录一下出现的问题:
这里先贴一下源码:致敬Python大神 (Github地址:https://github.com/wangshub/wechat_jump_game)
本人是学PHP的,最近对Python颇感情趣,下面就我研究半天之后将如何用大神写的Python来运行跳一跳小程序做简单易懂的教程,看过本教程之后,按照我的步骤操作,肯定可以让跳一跳小程序自己玩起来,让你的微信好友望尘莫及,当然,不屑使用程序作弊的就不多说了。
说一下这个脚本的原理,其实我对Python也只是停在听说的阶段,下面的原理只是个人猜测,有不对的地方希望大家指出:其实就是一个对图像的处理,脚本先对当前的跳一跳界面进行截图保存,保存的图片文件的文件名是一样的这样就会覆盖掉前面处理过得图片,通过我们安装的模块来处理图像,计算两个点之间的距离假设为S,玩过跳一跳的应该都知道,跳一跳跳的距离是与按压屏幕的时间长短成正比的,通过实验得到距离与按压时间之间的系数假设为a吧,那么按压时间t=S/a,得到这个时间,再按照这个时间模拟按压屏幕,如此循环即可。
第一步:想运行Python程序当然需要有运行Python的环境了,由于我是用Windows系统来做测试的,所以接下来的教程都是针对Windows64位系统来说的,有别的电脑系统可以参照此教程自己探究,步骤应该差不多,首先去https://www.python.org/downloads/windows/下载想要安装的Python版本,我下载的是Python3.4版本的,所以接下来所讲所下载的模块也都是Python3.4版本的模块
将下载好的Python放到D文件夹下新建的Python目录中(纯属个人习惯)
双击运行文件,进入Python的安装界面,在选择安装目录时,建议大家将Python安装在D盘刚创建的Python目录中,个人习惯,防止文件夹污染,安装完成之后你可以看到这样的目录结构
打开Windows的终端命令窗口,输入Python如果出现下面的提示,
不要慌,将Python的安装目录加入环境变量中即可,找到计算机》》鼠标右键属性》》高级系统设置》》环境变量》》找到Path,添加Python的安装文件夹的绝对路径到Path最后,记得加分号,确定。重启终端,输入Python,出现下面的提示,说明安装成功
到这里第一步就完成了。
第二步:下载安装运行脚本所需的Python模块
1, 下载numpy(下载带MKL的版本)
2, 下载scipy
3, 下载matplotlib
4, 下载Pillow
下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs
注意下载的版本要对应刚安装的Python的版本
其他模块就不在多做赘述,主要系统版本和Python的版本即可,下载完成之后将下载的几个文件放在Python的安装目录里的Scripts文件夹中
进入终端,exit()退出当前的状态,
接下来就是安装刚才下载的几个模块了,安装只需要终端进入到Python》》Scripts文件夹敲pip install + 要安装模块的文件名(前几个字母+tab补全即可),这里有一个坑,直接安装的话会报错,
你需要把几个模块的文件名中的cp34m改成none在安装即可,
可以用python -m pip list查看安装的Python模块
到这里第二步就完成了
第三步运行Python程序
由于我的手机是苹果的,操作起来比较繁琐,也懒得找测试要 Android 测试机,所有就下了模拟器测试,首推雷电模拟器,安装好雷电模拟器,在模拟器中下载安装微信,记得下载或者更新到最新版本的微信,不然无法打开跳一跳小游戏。
自行配置雷电模拟器,以下是我配置的
终端切换至项目的 /Tools,(下载的Python脚本中的目录)执行adb devices
可视界面切换至项目的根目录下,新建 ‘config.json'文件,将以下内容拷贝至该json文件中(博主已调整好的当前机型的参数):
{
"under_game_score_y": 300,
"press_coefficient": 1.392,
"piece_base_height_1_2": 24,
"piece_body_width": 79,
"swipe": {
"x1": 500,
"y1": 1600,
"x2": 500,
"y2": 1602
}
}
雷电模拟器先进入跳一跳小程序,点击开始运行,然后cmd 命令行在项目根目录运行以下命令执行python脚本即可:
pythonwechat_jump_auto.py出现如下提示还是环境变量的问题
脚本自带adb驱动,我们只需要将adb所在文件夹的绝对路径添加到环境变量中即可
重启终端,切换到Python项目根目录再次执行python wechat_jump_auto.py
这个过程要先进入雷电模拟器开始游戏,敲Y确认即可
你会惊喜的发现小程序开始自己跳了,附上成果图