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中使用Counter进行字典创建以及key数量统计的方法

这里的Counter是指collections中的Counter,通过Counter可以实现字典的创建以及字典key出现频次的统计。然而,使用的时候还是有一点需要注意的小事项。 使用Co...

使用Python对微信好友进行数据分析

使用Python对微信好友进行数据分析

1、准备工作 1.1 库介绍 只有登录微信才能获取到微信好友的信息,本文采用wxpy该第三方库进行微信的登录以及信息的获取。 wxpy 在 itchat 的基础上,通过大量接口优化提升了...

星球大战与Python之间的那些事

星球大战与Python之间的那些事

Python与星球大战背后的工业光魔 提起Python语言,很多人会想起系统运维、Web开发等工作。很少有人会知道Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电...

解决Python 命令行执行脚本时,提示导入的包找不到的问题

解决Python 命令行执行脚本时,提示导入的包找不到的问题

在Pydev能正常执行的脚本,在导出后在命令行执行,通常会报自己写的包导入时找不到。 一:报错原因 在PyDev中,test.py 中导入TestUserCase里面的py文件时,会写...

PyTorch中 tensor.detach() 和 tensor.data 的区别详解

PyTorch0.4中,.data 仍保留,但建议使用 .detach(), 区别在于 .data 返回和 x 的相同数据 tensor, 但不会加入到x的计算历史里,且require...