python跳一跳辅助学习

Posted safran

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python跳一跳辅助学习相关的知识,希望对你有一定的参考价值。

微信跳一跳辅助工具

准备工具

  • adb驱动
  • 安卓手机
  • 打开手机的调试模式
  • usb接好手机和电脑

 

PyCharm:全宇宙唯一一款专门用于Python开发IDE工具

 

实现原理:

  • 获取手机的实时的截图
  • 点击起始位置和落地位置
  • 技算两个点的距离
  • 计算按压时间
  • 发送按压指令
  • 重新刷新手机截图
实现代码:
import os
import PIL,numpy
import  matplotlib.pylab as plt
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 340 490 340 490 {}.format(int(distance*1)))
    #手机的单击位置,0 0 0 0 0 ,x轴y轴滑动后的xy轴单击时间


def on_calck(event, coor=[]):#绑定鼠标的单击事件[(x,y)(x2,y2)],
    global need_update
    coor.append((event.xdata, event.ydata))
    if len(coor) == 2:
        jump_to_next(coor.pop(), coor.pop())
    need_update = True

def update_screen(frame):#更新图片/从画图片
    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_calck)
ani = FuncAnimation(figure, update_screen, interval=50, blit=True)
plt.show()

 

 
详情:
https://github.com/wangshub/wechat_jump_game


以上是关于python跳一跳辅助学习的主要内容,如果未能解决你的问题,请参考以下文章

微信_跳一跳辅助程序_Python_(带GitHub项目地址)

辅助工具Python实现微信跳一跳

用PYTHON来玩微信《跳一跳》分析

JAVA实现跳一跳辅助程序之虎啸龙吟

python 打造一个微信跳一跳辅助!(手机本地运行)

Python打造一个微信跳一跳辅助!(手机本地运行)超级方便!