分数霸榜! 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使用urllib2获取网络资源实例讲解
Dec 02 Python
用Python实现QQ游戏大家来找茬辅助工具
Sep 14 Python
使用Python开发windows GUI程序入门实例
Oct 23 Python
python中base64加密解密方法实例分析
May 16 Python
python线程、进程和协程详解
Jul 19 Python
Python实现FTP上传文件或文件夹实例(递归)
Jan 16 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
详解Python正则表达式re模块
Mar 19 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
python——全排列数的生成方式
Feb 26 Python
python构造IP报文实例
May 05 Python
浅析Python 条件控制语句
Jul 15 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中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
python 实现线程之间的通信示例
2020/02/14 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
详解python 内存优化
2020/08/17 Python
python解包用法详解
2021/02/17 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
Bodum官网:咖啡和茶壶、玻璃器皿、厨房电器等
2018/08/01 全球购物
计算机专业自我鉴定
2013/10/15 职场文书
班级体育活动总结
2014/07/05 职场文书
影视后期实训报告
2014/11/05 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
公务员年度考核评语
2014/12/31 职场文书
跳高加油稿
2015/07/21 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers