分数霸榜! python助你微信跳一跳拿高分


Posted in Python onJanuary 08, 2018

前言

最近微信的跳一跳很火,大家看到排行榜上几百上千的分数,再看看自己百分左右的分数肯定很难过,我手残怪我吗?没关系,如果你跟着我来,也能让你分数霸榜。

原理

首先大家是有一个直观感受,根据两个箱子距离的不同,需要按压的时间也是不一样的,一般来说,一个大胆的猜测是按压时间和距离是成正比的。

这是我们的工作原理:

  • 在跳一跳页面截图
  • 计算出初始点和终点的距离
  • 想办法测出距离与按压时间的系数
  • 想办法让手机按压指定的时间
  • 重复1-4

工具

  • adb调试工具,它可以辅助截图以及上传截图给电脑,以及控制手机按压位置及时间
  • python 处理数据
  • python Pillow库 一个图像库,可以获取图像信息
  • python matplotlib库 配合Pillow打开图像并记录鼠标点击地方的坐标

准备工作

环境

fedora 27
python3.6

安装

adb调试工具

fedora/centos

sudo yum install adb

ubuntu

sudo apt install adb

python需要的库

sudo pip3 install matplotlib
sudo pip3 install Pillow

还需要sudo yum install python3-tkinter(fedora)

sudo apt install pytho3-tk(ubuntu)

安装这个是为了支持matplotlib

开始行动

  • 手机连接电脑,打开usb调试,弹框是否允许计算及对手机控制选择是
  • 终端运行 adb devices 如果出现 590bc*** device类似的说明连接好了,否则重试第一步
  • 打开微信跳一跳,点击开始游戏,运行脚本
  • 在图片上依次点击棋子脚下和目的方框的中心
  • 手机开始跳了
  • 重复4

我的SM-C7000(1920x1080),我测出来系数是1.38。如果手机分辨率比我低,增大这个值,否则减小这个值,多次修改这个值直到适合你的手机。

代码

#coding=utf-8
from PIL import Image 
import pylab
import os
import time
import random

cut = 'adb shell screencap -p /sdcard/autojump.png'
push = 'adb pull /sdcard/autojump.png . '
jump = 'adb shell input swipe {x} {y} {x} {y} {time}'

while True:
 #手机截屏
 os.system(cut)
 time.sleep(0.01)

 #截图上传
 os.system(push)
 time.sleep(0.03)

 pic = Image.open('autojump.png')
 #获取屏幕像素
 (w,h) = pic.size

 #手指点击位置一般在中间偏下。取随机值混淆系统检测

 w = int(w*random.uniform(0.45,0.55))
 h = int(h*random.uniform(0.7,0.8))

 #打开图片
 im = pylab.array(pic) 
 pylab.imshow(im)

 #读取两个点 
 (x1,x2) =pylab.ginput(2) 

 #两点距离公式
 s = ((x1[0]-x2[0])**2 + (x1[1] - x2[1])**2)**0.5
 #print(s)1.38 2.05

 #分辨率与按压时间(ms)的系数
 ratio = 1.38

 #随机更改按压时间使他不是一个整百数
 s = s*ratio + random.randint(-20,20) 
 s = int(s)

 #pylab.close()
 #像手机发送跳远按压时间
 os.system(jump.format(x=w,y=h,time=s))
 time.sleep((s+500)/1000)

一些建议

最好停止跳之前手动跳几步,防止被tx发现。
分数不要太高,循序渐进逐渐升高,否则容易被清空分数。

更多内容大家可以参考专题《微信跳一跳》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python创建系统目录的方法
Mar 11 Python
python3.x实现发送邮件功能
May 22 Python
Python Numpy库安装与基本操作示例
Jan 08 Python
Python提取特定时间段内数据的方法实例
Apr 01 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
Aug 26 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
浅谈python中频繁的print到底能浪费多长时间
Feb 21 Python
Python pip install如何修改默认下载路径
Apr 29 Python
解决阿里云邮件发送不能使用25端口问题
Aug 07 Python
Python可视化神器pyecharts绘制地理图表
Jul 07 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
Jan 07 #Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 #Python
详解Python核心编程中的浅拷贝与深拷贝
Jan 07 #Python
用python实现的线程池实例代码
Jan 06 #Python
pip matplotlib报错equired packages can not be built解决
Jan 06 #Python
Python实现的朴素贝叶斯分类器示例
Jan 06 #Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
Jan 06 #Python
You might like
php 日期时间处理函数小结
2009/12/18 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
php中使用url传递数组的方法
2015/02/11 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
原生js实现验证码功能
2017/03/16 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
vue组件jsx语法的具体使用
2018/05/21 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
python中for语句简单遍历数据的方法
2015/05/07 Python
python读取中文txt文本的方法
2018/04/12 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
python机器学习实现决策树
2019/11/11 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
意大利在线药房:Farmacia Loreto Gallo
2019/08/09 全球购物
学校师德承诺书
2014/05/23 职场文书
2014年教务处工作总结
2014/12/03 职场文书
公务员个人总结
2015/02/12 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
QT与javascript交互数据的实现
2021/05/26 Javascript