python 遍历usb设备_python程序员教你写脚本玩微信跳一跳,只要有耐心,你就是王者!...

温馨提示:微信已经开始检测分数异常高的情况了,请大家不要跑太高哦

游戏模式

这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。可能刚开始上手的时候,因为时间距离之间的关系把握不恰当,只能跳出几个就掉到了台子下面。这个游戏玩法类似于《flappy bird》

7e0bac38a835f20b0f9698624fbac526.png

如果能精确测量出起始和目标点之间测距离,就可以估计按压的时间来精确跳跃?所以花2个小时写了一个python脚本进行验证。在公开代码后,相继有爱好者添加了图像识别算法,并连续改进,连续正中红心40+次

希望不要把分数刷太高,容易没朋友的。。。

工具介绍

  • Python 2.7
  • Android 手机
  • Adb 驱动
  • Python Matplot绘图

原理说明

  1. 将手机点击到《跳一跳》小程序界面;
  2. 用Adb 工具获取当前手机截图,并用adb将截图pull上来
adb shell screencap -p /sdcard/1.png    adb pull /sdcard/1.png .
  1. 用matplot显示截图(已经图像识别处理)
  2. 用鼠标点击起始点和目标位置,计算像素距离 (已经图像识别处理)
  3. 根据像素距离,计算按压时间;
  4. 用Adb工具点击屏幕蓄力一跳;
adb shell input swipe x y x y time

如果你是 iOS:

  1. 运行安装好的 WebDriverAgentRunner
  2. 将手机点击到《跳一跳》小程序界面
  3. python3 wechat_jump_iOS_py3.py
  4. 依次点击起始位置和目标位置,实现蓄力一跳
  5. 打开 python3 wechat_jump_iOS_py3.py,根据蓄力一跳的精准情况更改其中的 time_coefficient,直到获得最佳取值

步骤

  • 安卓手机打开USB调试,设置》开发者选项》USB调试
  • 电脑与手机USB线连接,确保执行adb devices可以找到设备id
  • 界面转至微信跳一跳游戏,点击开始游戏
  • 运行python wechat_junp_auto.py,如果手机界面显示USB授权,请点击确认

我的屏幕是1920*1080,距离系数为1.35,如果是别的分辨率,暂时需要修改一下代码中的距离系数.

实验结果

只要有耐心,你就是王者

6c382f93a90b4a110bdb0392b802d1d1.png

我的成绩

TODO

可以对拉上来的图片进行颜色分割,识别小人和目标中心点,这样就不需要手动点击自动弹跳。事实证明,机器人比人更会玩儿游戏。

结尾

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个电脑同时运行 64bit 和 32bit 的eclipse 如何匹配 jdk环境

一个电脑同时运行 64bit 和 32bit 的 eclipse 如何匹配 jdk环境 1 eclipse 分 64bit 和 32bit 两种. 64bit的eclipse 只能搭配 64bit的 jdk 使用. 32bit的eclipse 只能搭配 32bit的 jdk 使用. 2 电脑上安装好 32bit 和 64bit 的 jdk ,分别安装在不同的路径中. 比如我的3…

基本数据类型(dict)

目录: 1.字典的简单介绍 2.字典增删改查和其他操作 3.字典的嵌套 一.字典的简单介绍 字典(dict)是python中唯一的一个映射类型,他是以{}括起来的键值对组成,在dict中key是唯一的,在保存的时候,根据key类计算出一个地址然后将key-value保存在这个地址中这种算法被称作hash算法,所…

自学成才翁_仅因为您是自学成才,并不意味着您必须独自学习。

自学成才翁by Piotr Bakker皮特巴克(Piotr Bakker) 仅因为您是自学成才,并不意味着您必须独自学习。 (Just because you’re self-taught doesn’t mean you have to learn alone.) I am a self-taught designer with no formal training. No art school, no priva…

java 近似值 循环次数,java题求解

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼public class PAI{public static void main(String[] args){int n 700;//Hello World! pai 3.1401640828900845(n 700)System.out.println("Hello World! pai " getPAI(n));//Hello World! pai 3.1430191863875865…

jq匹配偶数行_jquery怎么实现奇偶行不同背景颜色?

做表格的时候,经常要让奇偶行显示不同背景色,一来使表格显得更美观,二来使同行数据查找更快捷方便。通常我们是怎么实现的呢?就是在每个tr标签上加css样式。代码如下所示:.odd {background-color:yellow;}.even {backg…

2016/4/19 ①单个文件上传 ②上传图片后 预览图片

1&#xff0c;f1.php <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title> </head> <body> <!-- 作业:在网上找上传图片预览的代码 上传服务器 再预览--> <fo…

Android项目里集成Cordova详解

2019独角兽企业重金招聘Python工程师标准>>> 一 安装nodejs二 cmd创建Android项目三 导入工程 运行一下四 调用插件五 Android studio环境下将CordovaLib作为依赖导入六 自定义插件七 java类中的一些问题八 在CordovaActivity中添加原生View组件 九 在Fragment里使用…

facebook移动端框架_2016年所有顶级移动应用均归Google或Facebook所有

facebook移动端框架Today Nielsen released their report about the most widely used mobile apps in 2016. The top 8 apps were all owned by just two corporations: Google and Facebook.今天&#xff0c;尼尔森发布了有关2016年使用最广泛的移动应用程序的报告。排名前8的…

php 判断浏览器是ie,js判断是否是ie浏览器

怎么去看浏览器的内核等信息 ---- js的全局对象window子属性navigator.userAgent&#xff0c;这个属性是包含了浏览器信息的相关信息&#xff0c;包括我们需要的浏览器内核navigator.userAgent这个值取出来是个字符串&#xff0c;可以通过string的 indexOf方法或者正则匹配来验…

【JAVA基础】一:聊聊笔试常见到的 “==、equal” 比较是否相等的内在差别

开始本文之前&#xff0c;先让我们记住一个口诀&#xff08;这个口诀只针对基础的类比如String、Integer等&#xff0c;如果是自定义的类&#xff0c;需要看equal的具体实现&#xff09;&#xff1a;equal比较其值&#xff0c; 比较地址 这两天在走查代码的时候发现一个童鞋&am…

postgres 退出_postgresql – 如何修复Postgres以便在突然关闭后启动它?

由于突然断电,在我的本地机器上运行的PostGres服务器突然关闭.重新启动后,我尝试重新启动postgres,我收到此错误&#xff1a;$pg_ctl -D /usr/local / pgsql / data restartpg_ctl: PID file "/usr/local/pgsql/data/postmaster.pid" does not existIs server runnin…

php生成appid,PHP生成腾讯云COS签名

目标使用 PHP 创建 COS 接口所需要的请求签名步骤按照官方示例(也许是我笨&#xff0c;我怎么读都觉得官方文档结构费劲&#xff0c;示例细节互相不挨着&#xff0c;容易引起歧义)&#xff0c;请求签名应用在需要身份校验的场景&#xff0c;即非公有读权限时。否则在请求API接口…

es6作用域

作用域 一个需要注意的地方是&#xff0c;如果参数默认值是一个变量&#xff0c;则该变量所处的作用域&#xff0c;与其他变量的作用域规则是一样的&#xff0c;即先是当前函数的作用域&#xff0c;然后才是全局作用域。 var x 1;function f(x, y x) {console.log(y); }f(2) …

java 有参数的构造函数如何注入_Spring5参考指南:依赖注入

依赖注入依赖注入就是在Spring创建Bean的时候&#xff0c;去实例化该Bean构造函数所需的参数&#xff0c;或者通过Setter方法去设置该Bean的属性。Spring的依赖注入有两种基于构造函数的依赖注入和基于setter的依赖注入。基于构造函数的依赖注入构造函数的注入是通过构造函数的…

深度学习去燥学习编码_我们问了15,000个人,他们是谁,以及他们如何学习编码

深度学习去燥学习编码More than 15,000 people responded to the 2016 New Coder Survey, granting researchers an unprecedented glimpse into how adults are learning to code.超过15,000人对2016年新编码器调查做出了回应&#xff0c;使研究人员对成年人如何学习编码有了前…

CentOS 7 vi编辑命令

用vi打开一个yum文件 vi /usr/bin/yum 按 i 键后 进入insert模式&#xff0c;进入insert模式后才能进行修改 修改完成后 按esc键进入command模式&#xff0c; 然后:wq 保存文件并退出vi&#xff08;注意先冒号&#xff09; 保存命令 按ESC键 跳到命令模式&#xff0c;然后&…

C#学习笔记四: C#3.0自动属性匿名属性及扩展方法

前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好处, 下一遍会单独介绍Lambda表达式. 这篇主要包括的内容有: 自动属性,隐式类型,对象集合初始化…

array keys php,php array_keys与array_search的简单使用

函数说明array_keys():返回数组中所有的键名。array_search():在数组中搜索给定的值&#xff0c;如果成功则返回相应的键名。//根据一个key返回关联数组中的另一个key,并且不使用foreach// function array_key_relative(array $array, string $current_key, int $offset)functi…

RESTful服务的第三部分:HATEOAS和Richardson成熟度模型

by Sanchit Gera通过Sanchit Gera RESTful服务的第三部分&#xff1a;HATEOAS和Richardson成熟度模型 (RESTful Services Part III : HATEOAS and The Richardson Maturity Model) In Part I of this series, you learned the very basics of HTTP. We went over common HTTP …