分数霸榜! 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多线程编程(一):threading模块综述
Apr 05 Python
解读Python中degrees()方法的使用
May 18 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 Python
老生常谈python的私有公有属性(必看篇)
Jun 09 Python
python数据封装json格式数据
Mar 04 Python
Python Selenium 之数据驱动测试的实现
Aug 01 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
Python参数传递机制传值和传引用原理详解
May 22 Python
pandas 按日期范围筛选数据的实现
Feb 20 Python
Python实现socket库网络通信套接字
Jun 04 Python
Python中文纠错的简单实现
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的安全
2006/10/09 PHP
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
用javascript实现分割提取页面所需内容
2007/05/09 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
JS选项卡动态替换banner图片路径的方法
2015/05/11 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
python避免死锁方法实例分析
2015/06/04 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
中专生求职自荐信范文
2013/12/22 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
工作经历证明范本
2015/06/15 职场文书