python版微信跳一跳游戏辅助

yipeiwu_com7年前Python基础

本文实例为大家分享了微信跳一跳游戏辅助python代码,供大家参考,具体内容如下

import os
import PIL
import numpy
import matplotlib

matplotlib.use('TKAgg')
import matplotlib.pyplot as plt
import time

from matplotlib.animation import FuncAnimation

# 是否需要进行图片更新
need_update = True

def get_screen_image():
 # 截取手机当前图片
 os.system('adb shell screencap -p /sdcard/screen.png')
 # 拉取到PC端
 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 touchscreen swipe 320 410 320 410 %d" % (distance * 1.35))


def on_clack(event, coor=[]):
 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(2)
 axes_image.set_array(get_screen_image())
 # 已刷新,设置为false
 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_clack)
# 定时更新
ani = FuncAnimation(figure, update_screen, interval=50, blit=True)
plt.show()

更多内容大家可以参考专题《微信跳一跳》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中pandas.DataFrame排除特定行方法示例

前言 大家在使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,关于python中pandas.DataFrame的基本操作,大家可以查看这篇...

Python中return self的用法详解

在Python中,有些开源项目中的方法返回结果为self. 对于不熟悉这种用法的读者来说,这无疑使人困扰,本文的目的就是给出这种语法的一个解释,并且给出几个例子。 在Python中,re...

Python读取excel中的图片完美解决方法

Python读取excel中的图片完美解决方法

excel中有图片是很常见的,但是通过python读取excel中的图片没有很好的解决办法。 网上找了一种很聪明的方法,原理是这样的: 1、将待读取的excel文件后缀名改成zip,变成...

对python中的try、except、finally 执行顺序详解

如下所示: def test1(): try: print('to do stuff') raise Exception('hehe') print('to r...

python命令行参数用法实例分析

python命令行参数用法实例分析

本文实例讲述了python命令行参数用法。分享给大家供大家参考,具体如下: 在命令行下执行某些命令的时候,通常会在一个命令后面带上一些参数,这些参数会传递到程序里,进行处理,然后返回结果...