python玩跳一跳_python玩跳一跳
准备工具思路:
Windows 10;
一个安卓真机
python 3
adb驱动
依赖安装包
思路具体操作
和主流版本一样,利用adb截取游戏图片,然后利用matplotlib和numpy画出一张一样的游戏截图,然后用鼠标点一下当前棋子的位置获取当前棋子的坐标,接着再点一下下一个要跳的平台获取平台的坐标,然后计算出之间的距离,用adb模拟按压即可。
具体操作
安装adb调试工具并将其添加至环境变量,https://adb.clockworkmod.com/.然后下载python3,接着安装PIL,matplotlib库.打开手机的usb调试,打开微信跳一跳,在命令行里运行代码。
import time
import PIL
import numpy
import matplotlib.pyplot as plt
import os
from matplotlib.animation import FuncAnimation
# 是否需要更新截图的开关
need_update = True
def get_screen_image():
# 获取当前屏幕截图
os.system('adb shell screencap -p /sdcard/wechat_jump.png')
# 将图片发送至代码所在目录下
os.system('adb pull /sdcard/wechat_jump.png')
# 返回图像数据
return numpy.array(PIL.Image.open('wechat_jump.png'))
def jump(next_coordinate, current_coordinate):
# 分别获取第一下点击鼠标和第二下点击鼠标的坐标值
x1, y1 = current_coordinate
x2, y2 = next_coordinate
# 计算第一下点击鼠标和第二下点击鼠标之间的像素距离
distance = ((x2 - x1)**2 + (y2 - y1)**2)**0.5
# 模拟按压屏幕,前两个数字是点击屏幕起始坐标,三四个数字是点击屏幕的终止坐标,最后一个数字是按压时间,需要自己测试
os.system('adb shell input swipe 500 500 500 500 {}'.format(
int(distance * 2.1)))
def click(event, coor=[]):
global need_update
# 获取鼠标点击点的坐标值,以元组形式添加至坐标列表
coor.append((event.xdata, event.ydata))
# 直到点了两下屏幕,开始调用鼠标点击函数
if len(coor) == 2:
jump(coor.pop(), coor.pop())
# 打开更新截图开关
need_update = True
def update_screen(frame):
global need_update
if need_update:
time.sleep(1)
#更新截图
image.set_array(get_screen_image())
#关闭更新截图开关
need_update = False
#返回元组数据
return image,
#以指定尺寸创建一块画布
figure = plt.figure(figsize=(6, 8))
#用得到的图像数据在画布上复制出截图
image = plt.imshow(get_screen_image(), animated=True)
#使画布上的画更加紧凑
plt.tight_layout()
#将鼠标点击事件与click函数绑定
figure.canvas.mpl_connect('button_press_event', click)
#更新截图
update = FuncAnimation(figure, update_screen, interval=50, blit=True)
#显示图片
plt.show()
python玩跳一跳_python玩跳一跳相关推荐
- python 跳过_python怎么跳过异常继续执行
有时候我们在进行python编程的时候,想跳过异常继续执行,怎么跳过异常呢,下面来分享一下方法 工具/原料 win10系统 pycharm2018.3.2 方法/步骤 1 第一步创建一个py文件,输入 ...
- python青蛙跳台阶_Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
前言 跳台阶.变态跳台阶.矩形覆盖其实都和斐波那契数列是一类问题,文中通过示例代码介绍的非常详细,下面话不多说了,来一起看看详细的介绍吧. 跳台阶 问题描述: 一只青蛙一次可以跳上1级台阶,也可以跳上 ...
- 跳一跳python源码下载_Python玩跳一跳【简】
准备环境: Windows 10: [有] 安卓手机 [有] python(版本建议3以上) adb驱动 依赖安装包 Python下载安装[官网下载并安装] 详情参见 pip安装 pip用于安装依赖包 ...
- 跳一跳python源码下载_python 微信跳一跳和源码解读
刚好周末,想研究一下前阵子很火的微信跳一跳 下面进入正文. 本文适用对象为WIN10系统,安卓用户.目的在于让丝毫没有接触过Python的小伙伴都能成功运行,如果你恰好是这样的对象,那么跟着我开始操作 ...
- python遇到错误跳过_python 如何跳过异常继续执行
展开全部 下面2113有两种解决方法,第一种是类5261似if..else..:另外一种是使用语句4102来实现继1653续执行: 方法一:使用try...except...语句,类似于if...el ...
- python扫雷 高级算法_Python玩转算法—扫雷
此题来自LeetCode上的一道难度为Medium的题,说是有一张玩到一半的扫雷地图,接下来给你指定一个点击位置,让你预测点击之后,地图将发生怎么样的变化.看到这道题,瞬间让我想起了以前玩扫雷的日子, ...
- python表情符号编码大全_python玩转emoji ?
原标题:python玩转emoji ? 1999年,emoji 正式诞生: 2007年,谷歌向维护不同平台和语言符号文字标椎化的统一码联盟发起提议,希望统一码联盟能出面标准化 emoji: 2009年 ...
- 我的世界python指令攻略_PYTHON玩转我的世界——找钻石小游戏
原标题:PYTHON玩转我的世界--找钻石小游戏 非常简单的小游戏,总共代码50多行,新手也很容易理解. 游戏效果 随机放置一个钻石在玩家附近,同时每隔1秒在消息框中提示钻石和玩家之间的距离,并提示出 ...
- python 标签字体大小_Python玩转Excel(第3期)~这里只有干货
这期还是数据可视化,主要介绍饼图,折线图和 一.画饼充饥之Python饼图 1.饼图适用场景:仅排列在工作表的一列或一行中的数据可以绘制到饼图中. 2.使用要求: 仅有一个要绘制的数据系列 要绘制的数 ...
- python怎么用微信_Python玩转微信
很多人都在用微信,有没有想要用Python来控制我们的微信呀,哎呀,直接来点干货吧,我们可以直接在itchat上封装 http://itchat.readthedocs.io/zh/latest/ 安 ...
最新文章
- 【Netty】Netty组件介绍
- PMP考前复习题 系列三
- oracle查询用户的概要文件,Oracle用户、概要文件、权限及角色实例
- 网银无法登录解决办法
- 守得云开见月明:一次ASM存储高可用故障解决过程分析
- 利用Numpy提取+处理数据
- 前端开发者常用的9个JavaScript图表库
- L1-026 I Love GPLT
- bochs运行xp_bochs安卓最新版下载
- 新元宇宙每周连载《地球人奇游天球记》第十六回天王拜皇
- Android 引入recycleview依赖报错INFO: Configuration ‘compile‘ is obsolete and has been replaced with ‘imple
- 【电商吧 - 3】支付第一步,支付宝网页支付!
- 4星|《激荡十年,水大鱼大》:过去十年间国内商业简史
- 【informix】解决启动报错大全,以及解决办法
- 第二章 实用工具单元
- 玩转MAC OS!实测DIY兼容机装苹果系统
- 路由器dns服务器怎么才能自动改变,更改路由器DNS 提高网速又一方法技巧
- 仿 Cuto 壁纸应用的加载动画
- 前缀码的判断(个人摸索的小技巧)
- 光纤通信技术- 1引言