创建python项目jump_weixin,新建python程序jump.py

需要4个辅助文件【adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll,fastboot.exe】,放到项目根目录

辅助文件下载地址:链接:https://pan.baidu.com/s/1sljznFR 密码:gzeg

目录结构如下:

编辑jump.py:

import os
import numpy
import matplotlib.pyplot as plt
import PIL
from matplotlib.animation import FuncAnimation
import time

need_update = True

# 获取截图
def get_screen_image():
    os.system('adb shell screencap -p /sdcard/screen.png')  # 截取手机屏幕

    os.system('adb pull /sdcard/screen.png')  # 把手机上的截图拿到电脑上

    return numpy.array(PIL.Image.open('screen.png'))

def jump_to_next(point1, point2):  # 执行跳的操作
    x1, y1 = point1
    x2, y2 = point2  # 把两次点击的坐标取出来
    distance = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
    os.system('adb shell input swipe 300 400 300 400 {}'.format(int((distance * 1.35))))  # 按下的坐标,抬起的坐标,按压的时间
    global need_update
    need_update = True
    # time.sleep(1)

def on_click(event, coor=[]):
    # 参数event是点击的位置
    x, y = event.xdata, event.ydata  # 刚刚点击的坐标
    coor.append((x, y))  # 把一次点击的坐标添加到列表
    if len(coor) == 2:  # 通过坐标的数量,判断当前是否点击了两次
        # jump_to_next(coor[0],coor[1])
        # coor=[]
        # 用列表的pop代替上面的方法
        jump_to_next(coor.pop(), coor.pop())

def update_screen(frames):
    global need_update
    if need_update:
        time.sleep(1)
        axes_image.set_array(get_screen_image())
        need_update = False
    return axes_image,

figure = plt.figure()  # 创建一张空白图片
axes_image = plt.imshow(get_screen_image(), animated=True)  # 把截图画到刚才的空白图片对象里面
figure.canvas.mpl_connect('button_press_event', on_click)  # 绑定鼠标事件
ani = FuncAnimation(figure, update_screen, interval=300, blit=True)
plt.show()  # 显示

执行时,需要将手机调成开启USB调试模式,打开微信跳一跳界面,用手机数据线连接电脑。

执行方式:打开命令行工具cmd,进入jump_weixin项目目录,执行python jump.py

会弹出如下图形程序,用鼠标点击开始点与结束点,等待图片刷新后,再次点击开始点与结束点。

好了,大致就是这样了,

看看我刷的(第三的是我,我不是朋友圈里唯一刷分的,强中自有强中手):

是不是瞬间失去了游戏的乐趣?

补充:

C:\Users\lcg>pip install numpy
Collecting numpy
  Downloading numpy--cp36-none-win_amd64.whl (.4MB)
    % |████████████████████████████████| .4MB 75kB/s
Installing collected packages: numpy
Successfully installed numpy-

C:\Users\lcg>pip install matplotlib
Collecting matplotlib
  Downloading matplotlib--cp36-cp36m-win_amd64.whl (.7MB)
    % |████████████████████████████████| .7MB 55kB/s
Collecting six>=1.10 (from matplotlib)
  Downloading six--py2.py3-none-any.whl
Requirement already satisfied: numpy>= in c:\python36\lib\site-packages (from matplotlib)
Collecting pyparsing!=,!=,!=,>= (from matplotlib)
  Downloading pyparsing--py2.py3-none-any.whl (56kB)
    % |████████████████████████████████| 61kB 58kB/s
Collecting python-dateutil>=2.0 (from matplotlib)
  Downloading python_dateutil--py2.py3-none-any.whl (194kB)
    % |████████████████████████████████| 194kB 141kB/s
Requirement already satisfied: pytz in c:\python36\lib\site-packages (from matplotlib)
Collecting cycler>=0.10 (from matplotlib)
  Downloading cycler--py2.py3-none-any.whl
Installing collected packages: six, pyparsing, python-dateutil, cycler, matplotlib
Successfully installed cycler- matplotlib- pyparsing- python-dateutil- six-

C:\Users\lcg>pip install pillow
Collecting pillow
  Downloading Pillow--cp36-cp36m-win_amd64.whl (.6MB)
    % |████████████████████████████████| .6MB 199kB/s
Installing collected packages: pillow
Successfully installed pillow-

外部库的安装

利用Python玩微信跳一跳的更多相关文章

  1. Python 帮你玩微信跳一跳 GitHub Python脚本

    前言想自己搞游戏小程序的 在github 有人已经利用 python程序, 通过adb 获取不同型号安卓手机的系统截图,然后通过计算小人与目标位置距离之后得到准确的触摸时间,再通过 开发者模式里的 a ...

  2. Python操作微信跳一跳

    “跳一跳”这个东西还是今天刚接触到的,看到了python群中有人再问“微信跳一跳的外挂有人写了没”,“早就有了”,“github”,“等着出个更详细的教程教程没看懂,主要没有用过adb”. 不过没关系 ...

  3. Python版本微信跳一跳,软件配置

    一.安装python3的环境: 直接从python官方网站下载python3的安装包,直接安装. 记得将python3放到PATH环境变量中,安装的过程中在该配置地方打钩就可以了. 如果安装的过程中出 ...

  4. 【辅助工具】Python实现微信跳一跳

    最近迷上了微信跳一跳小游戏,正好也看到知乎上有大神分享了技术贴,我也参考了好多资料,原理就是通过abd命令截取图片,python计算两个点距离,然后转化按压时间,让电脑来完成游戏.我花了很长时间才把程 ...

  5. 教你用.Net来玩微信跳一跳

    目前开发的所有代码都已经上传到了GitHub.欢迎大家来Star https://github.com/GiantLiu/AutoJump 目前程序分为“全自动版本”和“半自动版本” 全自动版本 We ...

  6. 用Python来玩微信跳一跳

    微信2017年12月28日发布了新版本,在小程序里面有一个跳一跳小游戏,试着点一点玩了下.第二天刚好在一篇技术公众号中,看到有大神用Python代码计算出按压时间,向手机发送android adb命令 ...

  7. 使用python编写微信跳一跳的自动脚本

    实现思路: 调用adb命令,截图 寻找小小人的底部中心点role(从下到上扫描,直到找到小小人相同像素的点,至于小小人像素点rgb是什么,可以使用photoshop查看) 寻找棋盘最高点top,然后寻 ...

  8. 微信跳一跳辅助自动跳Python

    一.说明 此代码借鉴github一位大神所写,已经做了简化合并处理,如果能成功连上手机并运行,可以实现程序自动玩游戏,刷个1000+的分数轻轻松松 github源码地址 https://github. ...

  9. 微信跳一跳,Python辅助自动跳程序

    一.说明 此代码借鉴一位大神提供在gitHub上的源码,已经做了简化合并处理,成功连上手机并运行后,可实现自动玩微信跳一跳游戏,刷个1000+的分数轻轻松松 github源码地址 https://gi ...

随机推荐

  1. (C/C++学习笔记) 十. 函数

    十. 函数 ● 基本概念 函数 函数定义 function definition: return_type function_name ( parameter list ) { Body of fun ...

  2. 软工作业No.1。Java实现WC.exe

    网址:https://github.com/a249970271/WC WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有w ...

  3. spring的orm模块

    spring整合hibernate 1.hibernate使用注解. daoImpl需要继承HibernateDaoSupport对象,针对给对象的getHibernateTemplate()进行hi ...

  4. Linux C 数据结构->双向链表(阴阳在六,何以言九~)

    0. 弄完了单链表,在看双向链表.怎么整?多写,多想,想不通画出来在想,再写,再模仿~ 1.  没啥说的,敲代码~  说点啥呢,注意自己的代码风格哦,要符合"潮流",不要独树一帜 ...

  5. This App does not have access to your photos or videos in iOS 9

    出现这个总是由于info.plist文件内的CFBundleDisplayName没有值或者为空.把名称填进去就可以用了.

  6. SWIFT Enumeration(1)

    Swift中定义Enumeration跟其它语言挺类似的,看如下定义一个星期的Enumeration enum Day:Int{ case Monday = 1, Tuesday,Wednesday, ...

  7. iOS被开发者遗忘在角落的NSException-其实它很强大

    NSException是什么? 最熟悉的陌生人,这是我对NSException的概述,为什么这么说呢?其实很多开发者接触到NSException的频率非常频繁,但很多人都不知道什么是NSExcepti ...

  8. 配置海康相机SDK文件

    前言 项目使用到海康摄像机,进行二次开发需要首先对SDK文件进行相关配置. 实现过程 1.下载SDK开发包: 网址:http://www.hikvision.com/cn/download_61.ht ...

  9. POJ 2441 Arrange the Bulls 状态压缩递推简单题 (状态压缩DP)

    推荐网址,下面是别人的解题报告: http://www.cnblogs.com/chasetheexcellence/archive/2012/04/16/poj2441.html 里面有状态压缩论文 ...

  10. Arpa’s obvious problem and Mehrdad’s terrible solution 思维

    There are some beautiful girls in Arpa’s land as mentioned before. Once Arpa came up with an obvious ...