分数霸榜! 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下如何查询CS反恐精英的服务器信息
Jan 17 Python
python验证码识别实例代码
Feb 03 Python
python format 格式化输出方法
Jul 16 Python
使用python将时间转换为指定的格式方法
Nov 12 Python
python3正则提取字符串里的中文实例
Jan 31 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
python控制台打印log输出重复的解决方法
May 14 Python
python缺失值的解决方法总结
Jun 09 Python
Python matplotlib可视化之绘制韦恩图
Feb 24 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环境――Appserv
2006/12/13 PHP
用PHP为SHOPEX增加日志功能代码
2010/07/02 PHP
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
Destoon实现多表查询示例
2014/08/21 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
JQuery团队打造的javascript单元测试工具QUnit介绍
2010/02/26 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Python中暂存上传图片的方法
2015/02/18 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
python 用 xlwings 库 生成图表的操作方法
2019/12/22 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
英国健身超市:Fitness Superstore
2019/06/17 全球购物
什么是Smart Navigation?
2016/07/03 面试题
大学生物业管理求职信
2013/10/24 职场文书
自我鉴定书
2014/03/24 职场文书
社团活动总结怎么写
2014/06/30 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
组织委员竞选稿
2015/11/21 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
Python 数据可视化之Matplotlib详解
2021/11/02 Python
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL