python 实现 跳一跳游戏 代码解析

目前开发的所有代码都已经上传到了GitHub。欢迎大家来Star

这个代码实现的是   手动点击起点 和 终点  ,程序自动判断距离、触屏时间  完成跳跃 

 

目前程序分为“全自动版本”和“半自动版本”

原理(摘自项目说明页面):
1. 将手机点击到“跳一跳”小程序界面;

全自动版本

  1. 用Adb 工具获取当前手机截图,并用adb将截图pull上来:
         adb shell screencap -p /sdcard/1.png
         adb pull /sdcard/1.png .
  2. 用matplot显示截图;
    4. 用鼠标点击起始点和目标位置,计算像素距离;
  3. 根据像素距离,计算按压时间;
  4. 用Adb工具点击屏幕蓄力一跳:
         adb shell input swipe x y x y time

WeChat.AutoJump.CMDApp

 

当手机连接好后,打开微信跳一跳

环境准备(window7):
1. 下载 、安装 python3
2pip安装   
     cmd窗口中 进入python3根目录下的script文件夹,
     执行命令  
       图片 1

点击"开始游戏"后。运行此程序。就可以实现自动跳了

    则Scripts文件夹下会出现一系列和pip有关的文件,其中有pip.exe     将pip.exe的路径也添加到环境变量PATH中
    在cmd下输入“pip”,如果能识别"pip"指令,则说明pip安装成功了

半自动版本

3adb驱动安装
    adb驱动下载地址:https://adb.clockworkmod.com/     下载完后  将adb 命令 添加到系统环境变量里面
     打开CMD控制台,输入adb,出现如下界面,即为配置成功。如图:
     图片 2

WeChat.AutoJump.WinApp

 

此版本需要鼠标左键点小黑人的底部,鼠标右键点目标位的中心

4.下载源码

然后程序就会自动跳到相应的位置

到这一步,我们要将源码下载到本地电脑里。

 

 

程序原理
1。将手机点击到《跳一跳》小程序界面;点击“开始游戏”后
2。用Adb工具获取当前手机的截图,半下载到本地
3.1。如果是半自动版本,那么就要用鼠标左右键来点击起始和目标位置
然后程序会自动算出要跳动的距离与要点击屏幕的时间。
3.2。如果是全自动版本,那么程序会自动算出小黑人的位置与目标的中心点,
然后自动算距离与点击屏幕的时间。

github地址:

4。用Adb工具向手机发送点击屏幕蓄力命令,完成一次跳动

5.安装依赖包

目前程序只能支持Android设备,IOS设备只写了接口,还没有实现
步骤:

跳一跳微信辅助的最终运行需要很多的Python模块,作者已经将这些所需要的模块都写在了源码中的requirements.txt中,
所以我们执行命令 pip install -r requirements.txt,即可将这些必须的模块下载下来,模块包括有matplotlib,numpy等。

  • 安卓手机打开USB调试,设置》开发者选项》USB调试
  • 电脑与手机USB线连接,确保执行adb devices可以找到设备id

 

**

如图,我们使用CD命令,切换到源码的下载目录,
再执行命令pip install -r requirements.txt

  • 界面转至微信跳一跳游戏,点击开始游戏
    运行自动/半自动版本程序,就可以开始游戏之路

    图片 3

  •  

 

代码关键实现
1。通过adb拿到手机的屏幕截图,其实就是向手机发送相关的命令

 
6.设置手机权限

  第一条命令是把屏幕的截图以png格式保存到手机SD卡
  第二条命令是把手机SD卡里面的图片下载到本地硬盘对应的目录
  第三条命令是把手机里的截图删除
  第四条命令是发送屏幕按压命令 从X:100,Y:100这个位置向X200,Y:200这个位置移动,其中时间为500毫秒

将安卓手机用USB与电脑相连接,在安卓手机上打开开发者模式,并开启USB调试模式,
每种安卓手机开启的方法都不一样,
以小米 Mix2 手机为例,在设置中找到手机版本号,连续点击5次即可开启开发者模式
然后进入开发者选项打开   usb调试、usb调试(安全设置)、

adb shell screencap -p /sdcard/1.png
adb pull /sdcard/1.png D:/Download/
adb shell rm /sdcard/1.png
adb shell input swipe 100 100 200 200 500

如果以上操作没有任何错误,那么在CMD控制台,执行命令 adb devices可显示当前手机连接的端口号。

这里是.net发送命令相关代码

7.运行
在以上步骤都没有任何错误的情况下,打开微信,开启跳一跳小游戏,进入游戏主页面,
然后再打开CMD控制台,使用CD命令切换目录,切换到跳一跳辅助的源码目录下,执行命令wechat_jump_auto.py。

图片 4图片 5

参数调节请打开源码目录下的config文件夹,里面有适配各种屏幕和机型的文件夹,
根据自己的分辨率或机型,点击进入相应文件夹,打开里面的config.json文件,修改参数即可。建议修改前最好备份一份。

本文由糖果派对电玩城发布于营销内容,转载请注明出处:python 实现 跳一跳游戏 代码解析

您可能还会对下面的文章感兴趣: