微信跳一跳怎么刷高分?用Python玩微信跳一跳Mac+iOS+Win详细教程
微信2017年12月28日发布了新版本,在小程序里面有一个跳一跳小游戏,试着点一点玩了下。看到有大神用Python代码计算出按压时间,向手机发送android adb命令,让电脑自动玩游戏,下面就整理了尝试着搭建起了Python运行环境,把程序运行起来了,仅供参考!希望会对大家有所帮助!
整个过程有点坑爹,看了很多博客,借鉴别人的经验,最后总算顺利运行起来了,衷心感谢他们的分享。接下来就是详细过程,一起来看看吧!希望不要把分数刷太高,容易没朋友的。
相关软件下载
操作规范
考虑到生产环境的规范性,实验与项目之间不受干扰,请尽量用新的虚拟环境来完成实验
MacOS/Win,请使用如下操作开辟新的虚拟环境(不强调表示MacOS/Win相同操作)
· 下载Anaconda. MacOS:默认安装/Win:注意安装时候勾选配置路径或者之后手动配置,直至cmd后conda关键字有效
· 查看所有的虚拟环境 conda info --envs
· 使用命令: conda create -n wechat_env python=3 ,创建名为 wechat_env 的虚拟环境,且配置python版本为python3
· 激活虚拟环境:MacOS: source activate wechat_env /Win: activate wechat_env
· 安装所需要的包,比如 matplotlib 等,建议使用 conda install package_name 来避免虚拟环境包的路径问题
接下来的操作非必须,仅当实验完成后可操作,试验阶段全程在虚拟环境中操作,进入虚拟环境会有前置符号表示如:
(wechat_env) ~/Desktop/wechat_jump_game-master>
· 退出虚拟环境:MacOS: source deactivate wechat_env / Win: deactivate wecha_env
· 删除虚拟环境: conda remove -n wechat_env --all
工具介绍
· Python
· 手机或模拟器
· ADB 驱动,可以到这里下载
· 相关依赖
如果你是 iOS + MacOS,请参考下面的配置:
· 使用真机调试 WDA,参考 iOS 真机如何安装 WebDriverAgent · TesterHome
· 安装 openatx/facebook-wda(点击下载)
· Python 3
· 使用brew进行安装 brew cask install android-platform-tools
· 安装完后插入安卓设备且安卓已打开usb调试模式(部分新机型可能需要再另外勾上 允许模拟点击 权限),终端输入 adb devices ,显示如下表明设备已连接
List of devices attached
6934dc33device
如果你是 Android + Windows,请参考下面的配置:
· Python 3
· 安装 ADB 后,请在 环境变量 里将 adb 的安装路径保存到 PATH 变量里,确保 adb 命令可以被识别到。
· 同 Android + MacOS 测试连接
关于Win+Android的adb调试添加路径等问题,可以尝试使用Tools文件夹中adb文件夹进行调试,详见adb中readme文件
依赖安装
pip install -r requirements.txt
iOS/安卓版使用方法:
原理说明
将手机点击到《跳一跳》小程序界面;
用Adb 工具获取当前手机截图,并用adb将截图pull上来
用matplot显示截图(已经图像识别处理)
用鼠标点击起始点和目标位置,计算像素距离 (已经图像识别处理)
根据像素距离,计算按压时间;
用Adb工具点击屏幕蓄力一跳;
如果你是 iOS:
运行安装好的 WebDriverAgentRunner
将手机点击到《跳一跳》小程序界面
python3 wechat_jump_iOS_py3.py,会提示你安装wda(点击下载)
如果提示找不到config,则去该脚本同级目录config下,找到你的iPhone的屏幕大小的config.json文件,拷贝出来
如果是选择手动脚本跳(脚本是:python3 wechat_jump_iOS_py3.py),则依次点击起始位置和目标位置,实现蓄力一跳
打开 python3 wechat_jump_iOS_py3.py,根据蓄力一跳的精准情况更改其中的 time_coefficient,直到获得最佳取值
步骤
安卓手机打开USB调试,设置》开发者选项》USB调试
电脑与手机USB线连接,确保执行adb devices可以找到设备id
界面转至微信跳一跳游戏,点击开始游戏
运行python wechat_junp_auto.py,如果手机界面显示USB授权,请点击确认
我的屏幕是1920*1080,距离系数为1.35,如果是别的分辨率,暂时需要修改一下代码中的距离系数.
win版安装方法:
1.首先下载安装Python
我的笔记本是win7,64位。从官网下载的Python 64位EXE安装包,安装的是3.5版本。
在安装的时候注意,如果勾上了 “Add Python 3.5 to Path”,就不需要手动把python.exe所在的路径添加到Windows的Path环境变量中。
安装完成成功后,打开命令提示符窗口,敲入python命令,可以看到一些信息。
2.安装 matplotlib
下载合适版本的安装包matplotlib,我这里下载的是matplotlib-2.1.1。
把安装包复制到python安装目录下的scripts文件夹。重新启动cmd窗口,执行语句:pip3.5 install + matplotlib安装文件的路径,进行安装。例如:pip3.5 install D:\Python3.5\Scripts\matplotlib-2.1.1-cp35-cp35m-win_amd64.whl
注意安装过程中要翻墙,实在不行也可以安装离线版本。
3.安装Pillow
完成1、2两步之后,运行Python代码,还是报错,出现ImportError: No module named PIL的提示。
需要安装Pillow。
运行命令,安装Pillow:pip install Pillow
4.运行Python代码
手机上打开微信小程序,进入跳一跳。在电脑的命令提示符窗口使用adb devices命令,可以查看手机是否顺利连接。(首先确保adb工具已安装)
切换到源代码所在目录,我这里是放在桌面。例如:
cd C:\Users\lish\Desktop\Python_WeChatJump\wechat_jump_game-master
然后运行程序
python wechat_jump_auto.py
到这里程序终于顺利跑起来,可以让电脑自己愉快的玩手机上这个小游戏了。