前言
最近微信的跳一跳很火,大家看到排行榜上几百上千的分数,再看看自己百分左右的分数肯定很难过,我手残怪我吗?没关系,如果你跟着我来,也能让你分数霸榜。
原理
首先大家是有一个直观感受,根据两个箱子距离的不同,需要按压的时间也是不一样的,一般来说,一个大胆的猜测是按压时间和距离是成正比的。
这是我们的工作原理:
- 在跳一跳页面截图
- 计算出初始点和终点的距离
- 想办法测出距离与按压时间的系数
- 想办法让手机按压指定的时间
- 重复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发现。
分数不要太高,循序渐进逐渐升高,否则容易被清空分数。
更多内容大家可以参考专题《微信跳一跳》进行学习。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。