分数霸榜! 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计算最大优先级队列实例
Dec 18 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
Dec 31 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
Jan 17 Python
python 求某条线上特定x值或y值的点坐标方法
Jul 09 Python
python实现静态web服务器
Sep 03 Python
详解python中groupby函数通俗易懂
May 14 Python
Python如何避免文件同名产生覆盖
Jun 09 Python
python批量生成身份证号到Excel的两种方法实例
Jan 14 Python
Python函数中的不定长参数相关知识总结
Jun 24 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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 SQL防注入代码集合
2008/04/25 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
js电信网通双线自动选择技巧
2008/11/18 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
详解JavaScript模块化开发
2016/12/04 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
python hook监听事件详解
2018/10/25 Python
想学python 这5本书籍你必看!
2018/12/11 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
矫正人员思想汇报
2014/01/08 职场文书
上班睡觉检讨书
2014/01/09 职场文书
大学活动总结格式
2014/04/29 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
学生会招新宣传语
2015/07/13 职场文书
企业年会祝酒词
2015/08/11 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
python自动化测试之Selenium详解
2022/03/13 Python
解决Oracle数据库用户密码过期
2022/05/11 Oracle