微信跳一跳python全部代码_微信跳一跳辅助python代码实现
微信跳一跳辅助的python具体实现代码,供大家参考,具体内容如下
这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。可能刚开始上手的时候,因为时间距离之间的关系把握不恰当,只能跳出几个就掉到了台子下面。
玩法类似于《flappy bird》
下载github的一个程序,但是在windows10下不能运行,原因是windows10下没有copy命令了,修改为Python自带的复制方法,即可完成。今天运行好像一开始不能正确跳第一次,人工辅助后,后续的跳的很好。
部分代码:
wechat_jump_iOS_py3.py
import wda
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from PIL import Image
import math
import time
import os
# 截图距离 * time_coefficient = 按键时长
# 此数据是 iPhoneX 的推荐系数,可根据手机型号进行调整
time_coefficient = 0.00125
c = wda.Client()
s = c.session()
def pull_screenshot():
c.screenshot('1.png')
def jump(distance):
press_time = distance * time_coefficient
press_time = press_time
print(press_time)
s.tap_hold(200,200,press_time)
fig = plt.figure()
index = 0
cor = [0, 0]
pull_screenshot()
img = np.array(Image.open('1.png'))
update = True
click_count = 0
cor = []
def update_data():
return np.array(Image.open('1.png'))
im = plt.imshow(img, animated=True)
def updatefig(*args):
global update
if update:
time.sleep(1)
pull_screenshot()
im.set_array(update_data())
update = False
return im,
def onClick(event):
global update
global ix, iy
global click_count
global cor
# next screenshot
ix, iy = event.xdata, event.ydata
coords = []
coords.append((ix, iy))
print('now = ', coords)
cor.append(coords)
click_count += 1
if click_count > 1:
click_count = 0
cor1 = cor.pop()
cor2 = cor.pop()
distance = (cor1[0][0] - cor2[0][0])**2 + (cor1[0][1] - cor2[0][1])**2
distance = distance ** 0.5
print('distance = ', distance)
jump(distance)
update = True
fig.canvas.mpl_connect('button_press_event', onClick)
ani = animation.FuncAnimation(fig, updatefig, interval=50, blit=True)
plt.show()
wechat_jump_py3.py
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from PIL import Image
import math
import time
import os
def pull_screenshot():
os.system('adb shell screencap -p /sdcard/1.png')
os.system('adb pull /sdcard/1.png .')
def jump(distance):
press_time = distance * 1.35
press_time = int(press_time)
cmd = 'adb shell input swipe 320 410 320 410 ' + str(press_time)
print(cmd)
os.system(cmd)
fig = plt.figure()
index = 0
cor = [0, 0]
pull_screenshot()
img = np.array(Image.open('1.png'))
update = True
click_count = 0
cor = []
def update_data():
return np.array(Image.open('1.png'))
im = plt.imshow(img, animated=True)
def updatefig(*args):
global update
if update:
time.sleep(1.5)
pull_screenshot()
im.set_array(update_data())
update = False
return im,
def onClick(event):
global update
global ix, iy
global click_count
global cor
# next screenshot
ix, iy = event.xdata, event.ydata
coords = []
coords.append((ix, iy))
print('now = ', coords)
cor.append(coords)
click_count += 1
if click_count > 1:
click_count = 0
cor1 = cor.pop()
cor2 = cor.pop()
distance = (cor1[0][0] - cor2[0][0])**2 + (cor1[0][1] - cor2[0][1])**2
distance = distance ** 0.5
print('distance = ', distance)
jump(distance)
update = True
fig.canvas.mpl_connect('button_press_event', onClick)
ani = animation.FuncAnimation(fig, updatefig, interval=50, blit=True)
plt.show()
原理说明
1. 将手机点击到《跳一跳》小程序界面;
2. 用Adb 工具获取当前手机截图,并用adb将截图pull上来
```shell
adb shell screencap -p /sdcard/1.png
adb pull /sdcard/1.png .
```
3. 用matplot显示截图;
4. 用鼠标点击起始点和目标位置,计算像素距离;
5. 根据像素距离,计算按压时间;
6. 用Adb工具点击屏幕蓄力一跳;
代码较多,直接为大家分享源码下载链接,很详细:微信跳一跳辅助python代码实现
更多内容大家可以参考专题《微信跳一跳》进行学习。
相关文章学习推荐:
跳一跳小游戏python脚本
python基于TensorFlow实现微信跳一跳的AI
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
本文标题: 微信跳一跳辅助python代码实现
本文地址: http://www.cppcns.com/jiaoben/python/217023.html
微信跳一跳python全部代码_微信跳一跳辅助python代码实现相关推荐
- python微信公众号秒杀代码_微信跳一跳辅助python代码实现
微信跳一跳辅助python代码实现 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 微信跳一跳辅助python代码实现.txt ] (友情提示:右键点上行txt文档 ...
- python微信爬取教程_python爬虫_微信公众号推送信息爬取的实例
问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...
- 微信翻译生日快乐的代码_微信「隐藏彩蛋」,你发现了没?
高考加油 愿所有的好运与你相伴,愿在考场的你超常发挥! 这两天就是一年一度的高考的日子,虽特殊,但依旧是一个奋斗的夏季. 相信大家平常使用微信无非就是聊聊天.打打电话什么的,也有部分小小的彩蛋功能被大 ...
- python 微信公众号 语音推送_微信公众平台消息接口开发(40)语音识别
微信公众平台开发模式 微信 语音识别 公众平台 消息接口 语音识别 微信公众平台开发 语音识别 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/archive/2 ...
- python新年有趣代码_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...
下载好向圈APP可以快速联系圈友 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 为提高大家对"Python"编程语言的学习兴趣,今天给大家分享几款有趣的Python程序代 ...
- url 微信公众号开发 配置失效_微信公众号开发之授权登录
一.UnionId和openId 微信登录最重要的两个返回信息,一个是UnionId,一个是OpenId.两者之间有着必然的联系. UnionID机制的作用说明:如果开发者拥有多个移动应用.网站应用和 ...
- 微信小程序存在的风险_微信小程序存在哪些风险
微信小程序存在哪些风险?之前一直在给大家爱关于微信小程序的各种好处,但是它其实也是存在一定的风险的,今天小编就来给大家讲一下微信小程序都存在哪些风险. 由于微信主程序会通过 JS 接口向小程序暴露规定 ...
- 如何读懂python代码_教你如何阅读 Python 开源项目代码
作者: Destiny 来源:https://learnku.com/articles/23010/teach-you-to-read-the-python-open-source-project-c ...
- 微信缓存dat怎么转图片_微信 .dat图片格式转换为.jpg
异或,英文为exclusive OR,缩写成xor 异或(xor)是一个数学运算符.它应用于逻辑运算.异或的数学符号为"⊕",计算机符号为"xor".异或也叫半 ...
最新文章
- 2021年大数据Flink(九):Flink原理初探
- [PYTHON] 核心编程笔记(18.多线程编程)
- java word openoffice_java 使用openoffice 转换文档,成.pdf,实现在线预览效果
- 计算机科学825,2017年河南大学计算机与信息工程学院825专业基础课(软件工程导论、数据结构)之数据结构考研题库...
- linux 禁ping设置
- 程序员编程艺术第十一章:最长公共子序列(LCS)问题
- mysql批量导入数据脚本_MySQL数据库批量导入脚本
- 串口与Modbus调试工具
- linux驱动开发 ST7789 LCD驱动移植(I.MX6ULL平台)
- Android应用的几种开发方式
- java利用递归画杨辉三角_递归实现杨辉三角
- 年度总结 | 目标检测2019,你还有不知道的吗?
- w7设置双显示器_Win7系统如何设置双屏显示?
- UVA1335-Beijin Guards(二分)
- java modbus4j_java使用modbus4j来实现modbusTCP通信
- [译] 响应式脑电波—如何使用 RxJS、Angular、Web 蓝牙以及脑电波头戴设备来让我们的大脑做一些更酷的事...
- 基于STM32采用CS创世 SD NAND(贴片SD卡)完成FATFS文件系统移植与测试(中篇)
- Nvida driver CUDA
- 宇贸电商二期-用户模块开发(一)
- 如何把音频转换成文本?不妨来试一下这三种方法吧
热门文章
- 泰拉瑞亚 游戏角色 Later version
- 关于安装appium 时 cnpm不是内部命令的解决(¥61)
- 微信小程序 - 商城项目 - 搜索框组件
- mysql 严格模式 Strict Mode说明
- CSS3渐变效果工具
- 浪漫、残酷,最终结局完满。小成本、新概念、经典大片《源代码》
- dakai微信小程序 ios_微信小程序快捷键及常见问题-ios快捷打开微信小程序-苹果小程序添加到桌面...
- react发送Ajax中文问号,在React中你真的用对了Ajax吗?
- javascript排序算法总结
- 2015年年度总结 新年伊始 回眸展望