python版微信跳一跳游戏辅助

yipeiwu_com6年前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 socket网络编程步骤详解(socket套接字使用)

一、套接字套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为...

使用Flask集成bootstrap的方法

使用Flask集成bootstrap的方法

1. 下载flask-bootstrap pip install flask-bootstrap 2. 找到base.html文件 将site-packages\flask_b...

Python 3.8中实现functools.cached_property功能

前言 缓存属性( cached_property )是一个非常常用的功能,很多知名Python项目都自己实现过它。我举几个例子: bottle.cached_property Bottl...

利用django-suit模板添加自定义的菜单、页面及设置访问权限

前言 本文主要给大家介绍了利用django-suit模板在管理后台添加自定义的菜单和自定义的页面、设置访问权限的相关内容,分享出来供大家参考学习,下面话不多说了,来随着小编一起看看详细的...

selenium+python自动化测试之鼠标和键盘事件

selenium+python自动化测试之鼠标和键盘事件

前面的例子中,点击事件都是通过click()方法实现鼠标的点击事件。其实在WebDriver中,提供了许多鼠标操作的方法,这些操作方法都封装在ActionChains类中,包括鼠标右击、...