微信跳一跳辅助的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代码实现相关推荐

  1. python微信公众号秒杀代码_微信跳一跳辅助python代码实现

    微信跳一跳辅助python代码实现 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  微信跳一跳辅助python代码实现.txt ] (友情提示:右键点上行txt文档 ...

  2. python微信爬取教程_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  3. 微信翻译生日快乐的代码_微信「隐藏彩蛋」,你发现了没?

    高考加油 愿所有的好运与你相伴,愿在考场的你超常发挥! 这两天就是一年一度的高考的日子,虽特殊,但依旧是一个奋斗的夏季. 相信大家平常使用微信无非就是聊聊天.打打电话什么的,也有部分小小的彩蛋功能被大 ...

  4. python 微信公众号 语音推送_微信公众平台消息接口开发(40)语音识别

    微信公众平台开发模式 微信 语音识别 公众平台 消息接口 语音识别 微信公众平台开发 语音识别 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/archive/2 ...

  5. python新年有趣代码_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...

    下载好向圈APP可以快速联系圈友 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 为提高大家对"Python"编程语言的学习兴趣,今天给大家分享几款有趣的Python程序代 ...

  6. url 微信公众号开发 配置失效_微信公众号开发之授权登录

    一.UnionId和openId 微信登录最重要的两个返回信息,一个是UnionId,一个是OpenId.两者之间有着必然的联系. UnionID机制的作用说明:如果开发者拥有多个移动应用.网站应用和 ...

  7. 微信小程序存在的风险_微信小程序存在哪些风险

    微信小程序存在哪些风险?之前一直在给大家爱关于微信小程序的各种好处,但是它其实也是存在一定的风险的,今天小编就来给大家讲一下微信小程序都存在哪些风险. 由于微信主程序会通过 JS 接口向小程序暴露规定 ...

  8. 如何读懂python代码_教你如何阅读 Python 开源项目代码

    作者: Destiny 来源:https://learnku.com/articles/23010/teach-you-to-read-the-python-open-source-project-c ...

  9. 微信缓存dat怎么转图片_微信 .dat图片格式转换为.jpg

    异或,英文为exclusive OR,缩写成xor 异或(xor)是一个数学运算符.它应用于逻辑运算.异或的数学符号为"⊕",计算机符号为"xor".异或也叫半 ...

最新文章

  1. 2021年大数据Flink(九):Flink原理初探
  2. [PYTHON] 核心编程笔记(18.多线程编程)
  3. java word openoffice_java 使用openoffice 转换文档,成.pdf,实现在线预览效果
  4. 计算机科学825,2017年河南大学计算机与信息工程学院825专业基础课(软件工程导论、数据结构)之数据结构考研题库...
  5. linux 禁ping设置
  6. 程序员编程艺术第十一章:最长公共子序列(LCS)问题
  7. mysql批量导入数据脚本_MySQL数据库批量导入脚本
  8. 串口与Modbus调试工具
  9. linux驱动开发 ST7789 LCD驱动移植(I.MX6ULL平台)
  10. Android应用的几种开发方式
  11. java利用递归画杨辉三角_递归实现杨辉三角
  12. 年度总结 | 目标检测2019,你还有不知道的吗?
  13. w7设置双显示器_Win7系统如何设置双屏显示?
  14. UVA1335-Beijin Guards(二分)
  15. java modbus4j_java使用modbus4j来实现modbusTCP通信
  16. [译] 响应式脑电波—如何使用 RxJS、Angular、Web 蓝牙以及脑电波头戴设备来让我们的大脑做一些更酷的事...
  17. 基于STM32采用CS创世 SD NAND(贴片SD卡)完成FATFS文件系统移植与测试(中篇)
  18. Nvida driver CUDA
  19. 宇贸电商二期-用户模块开发(一)
  20. 如何把音频转换成文本?不妨来试一下这三种方法吧

热门文章

  1. 泰拉瑞亚 游戏角色 Later version
  2. 关于安装appium 时 cnpm不是内部命令的解决(¥61)
  3. 微信小程序 - 商城项目 - 搜索框组件
  4. mysql 严格模式 Strict Mode说明
  5. CSS3渐变效果工具
  6. 浪漫、残酷,最终结局完满。小成本、新概念、经典大片《源代码》
  7. dakai微信小程序 ios_微信小程序快捷键及常见问题-ios快捷打开微信小程序-苹果小程序添加到桌面...
  8. react发送Ajax中文问号,在React中你真的用对了Ajax吗?
  9. javascript排序算法总结
  10. 2015年年度总结 新年伊始 回眸展望