2017年12月28日下午,微信发布了 6.6.1 版本,加入了「小游戏」功能,并提供了官方 demo「跳一跳」。
这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。分数越高,那么在好友排行榜更加靠前。有个大神用Python脚本来跑分,并共享了源码。通过 Python 脚本自动运行,让你轻松霸榜。
大神博客:https://wangshub.github.io
知乎专栏:https://zhuanlan.zhihu.com/p/32452473
github地址:https://github.com/wangshub/wechat_jump_game
github周榜第9!
2017-12-29 : 增加图像识别,更新自动化运行脚本,感谢github上的binderclip
2017-12-30 : 请将安卓手机的usb调试模式打开,》开发者选项》USB调试
2017-12-30 : 根据大家反馈:1080屏幕距离系数1.393,2k屏幕为1
2017-12-30 : 不要刷太高哦,容易分数清零,已经被官方关注了;
2017-12-30 : 已经适配很多安卓分辨率的手机,在项目里自己寻找配置文件哦;
2017-12-31 : 各路大神相继加入,改进识别和代码结构;
2017-12-31 : 微信已经开始检测分数异常高的情况了,请大家不要跑太高哦
工具介绍
- Python 2.7
- Android 手机
- Adb 驱动
- Python Matplot绘图
原理说明
- 将手机点击到《跳一跳》小程序界面;
- 用Adb 工具获取当前手机截图,并用adb将截图pull上来
adb shell screencap -p /sdcard/1.png
adb pull /sdcard/1.png .
- 用matplot显示截图(已经图像识别处理)
- 用鼠标点击起始点和目标位置,计算像素距离 (已经图像识别处理)
- 根据像素距离,计算按压时间;
- 用Adb工具点击屏幕蓄力一跳;
adb shell input swipe x y x y time
如果你是 iOS
:
- 运行安装好的
WebDriverAgentRunner
- 将手机点击到《跳一跳》小程序界面
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,如果是别的分辨率,暂时需要修改一下代码中的距离系数.
实验结果
只要有耐心,你就是王者
TODO
可以对拉上来的图片进行颜色分割,识别小人和目标中心点,这样就不需要手动点击自动弹跳。
事实证明,机器人比人更会玩儿游戏。
————————–我是华丽的分割线————————–
发布了大神的脚本,有人反映说python不会安装,adb不会安装,pip不会安装等各种问题
Python
因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。
要开始学习Python编程,首先就得把Python安装到你的电脑里。安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境。
2.x还是3.x
目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的,因为现在Python正在朝着3.x版本进化,在进化过程中,大量的针对2.x版本的代码要修改后才能运行,所以,目前有许多第三方库还暂时无法在3.x上使用。
为了保证你的程序能用到大量的第三方库,我们的教程仍以2.x版本为基础,确切地说,是2.7版本。请确保你的电脑上安装的Python版本是2.7.x,这样,你才能无痛学习这个教程。
首先,从Python的官方网站python.org下载最新的2.7版本。
然后,运行下载的MSI安装包,在选择安装组件的一步时,勾上所有的组件:
特别要注意选上pip
和Add python.exe to Path
,然后一路点“Next”即可完成安装。
默认会安装到C:\Python27
目录下,然后打开命令提示符窗口,敲入python后,会出现两种情况:
情况一:
看到上面的画面,就说明Python安装成功!
你看到提示符>>>
就表示我们已经在Python交互式环境中了,可以输入任何Python代码,回车后会立刻得到执行结果。现在,输入exit()
并回车,就可以退出Python交互式环境(直接关掉命令行窗口也可以!)。
情况二:得到一个错误:
‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。
这是因为Windows会根据一个Path
的环境变量设定的路径去查找python.exe
,如果没找到,就会报错。如果在安装时漏掉了勾选Add python.exe to Path
,那就要手动把python.exe
所在的路径C:\Python27
添加到Path中。因为我的是d:\python所以在下图中7的位置看到的是D盘。包括后面安装的adb、pip都在D盘
如果你不知道怎么修改环境变量,建议把Python安装程序重新运行一遍,记得勾上Add python.exe to Path
。
ADB
Win10怎么配置ADB环境?Win10怎么安装ADB工具?这想必是很多安卓玩家都关心的问题。特别是Nexus设备的用户,大量的刷机、玩机操作都需要借助ADB和Fastboot命令来实现。Win10要如何配置ADB和Fastboot呢?今天就让小编来分享一些方法吧。
首先,我们需要正确安装ADB/Fastboot驱动。一般来说,Win10联网的话,会自动安装ADB和Fastboot驱动,并不需要用户担心。如何让Win10自动安装ADB驱动?安卓机开启USB调试后连接到电脑,就会自动安装了。如果Win10网络情况不好,或者其他一些原因,没有自动安装好ABD/Fastboot驱动,就需要手动安装了。Google官方的驱动可以点此下载(需要科学上网)。除了Google官方驱动外,这款第三方的“Universal Adb Driver”(点击下载)也是可以一试的。
安装好驱动后,下载下面的这款ADB工具包,解压出来后,不要动!无视压缩包中的安装方法!这个方法并不适用于Win10!
软件名称: | adb工具包 |
软件版本: | 1.0.32 |
软件大小: | 608KB |
软件授权: | 免费 |
适用平台: | Win2000 WinXP Win2003 Vista Win8 Win7 |
下载地址: | http://dl.pconline.com.cn/download/359035.html |
在Win10中,系统目录和之前有所不同,所以旧的安装方法是无效的。要如何在Win10使用ADB工具呢?其实很简单,进入解压出来的文件的那个文件夹,键盘按住“Shift”键,然后鼠标右键单击文件夹的空白处。这时候,就可以看到弹出的菜单,有一个“在此处打开命令窗口”的选项,点击它!然后,就可以看到CMD弹出来了。
在文件夹空白处按Shift键和鼠标右键,选择“在此处打开命令窗口”
这时候出现的CMD,可以直接执行ADB命令。驱动安装好了的话,可以直接在CMD中输入ADB和Fastboot的命令来进行各种操作。如何验证?最简单的方法就是,确认安卓机已经以USB调试的状态连接电脑后,在这个CMD窗孔中输入以下命令:
Adb devices
如果看到CMD显示一串字符,后面还有一个“device”的字样,那就说明安卓机已经成功以USB调试的形式连接到了Win10中,在Win10也可以通过ADB来对安卓进行各种操作了。
如果要验证Fastboot的话,也是同样的道理。关机后,长按电源键和下音量键进入bootloader界面,然后再用USB连接到电脑。在CMD窗口中输入以下命令“
Fastboot devices
看到CMD显示一串字符,说明安卓机已经成功在fastboot的状态下连接到Win10了。
Win10如何配置ADB环境?Win10如何使用ADB工具?Win10如何配置fastboot?相信看到这里安卓玩家们都已经明白了。如果想要刷机和修改系统的朋友,不妨试试这个方法吧。
PIP
正常情况下,安装Python时候pip会已经安装好,但是不排除pip未配置的。
pip是用来方便地管理Python的第三方包的,由于此前玩Python仅仅是浅尝辄止,用的是python(x,y),但是这里并不代表你想用什么包都能从里面找到的,所以我把python(x,y)卸了,然后重新装了个Python2.7.5,准备尝试一下用pip来下载想要的包。
不过pip也有一个麻烦之处,如果电脑不能联网怎么办?
之后再考虑这个问题,先在此记录一下我是如何安装pip的。本文参考百度经验《如何在win7下安装python包工具pip》,网上有很多pip安装教程,但感觉这个写的是最简明易懂的,只需要三步走就ok了。下面我会把我的安装步骤记录下来,也是按照“三步走”来的,不过我要对这个百度经验做些补充和完善,把我中途遇到问题的解决方法也一并发上来。
step1:
(1)安装python2.7.5,这里我选择安装在C盘根目录下。
(2)安装完毕后C盘会生成一个叫“python27”的文件夹。
(3)打开python27,会发现该目录下存在一个叫Scripts的文件夹,点开Scripts,会发现里面有一系列和easy_install有关的文件。
(4)打开python27,会发现该文件下有一个叫python.exe的文件,将该文件的路径添加至环境变量PATH(在系统变量一栏下添加)。如果不做这一步,则cmd命令是无法识别“python”指令的。能不能成功识别该指令分别会出现如下状况:
a.给cmd输入“python”,不能成功识别:
b.给cmd输入“python”,能成功识别:
step2:
(1)现在cmd下就可以使用“python”指令了,一路cd到easy_install.exe的根目录下。
这里需要强调一点,cmd默认路径是从“C:\Users\ASUS>”开始的,如果想转到D盘E盘F盘方便,以E盘为例,直接输入“E:”就可以了,但如何转到C盘呢?
这里用的一个指令是“cd\”,如下:
(2)一路cd索引到easy_install.exe所在的地方,执行指令“easy_install.exe pip”:
则Scripts文件夹下会出现一系列和pip有关的文件,其中有pip.exe。
step3:
(1)和之前处理python.exe的方法一样,将pip.exe的路径也添加到环境变量PATH中。
(2)在cmd下输入“pip”,如果能识别”pip”指令,则说明pip安装成功了。
也就是说会出现如下的画面:
B站UP主发布的视频教程