python中输出最高分代码_分数霸榜! python助你微信跳一跳拿高分

前言

最近微信的跳一跳很火,大家看到排行榜上几百上千的分数,再看看自己百分左右的分数肯定很难过,我手残怪我吗?没关系,如果你跟着我来,也能让你分数霸榜。

原理

首先大家是有一个直观感受,根据两个箱子距离的不同,需要按压的时间也是不一样的,一般来说,一个大胆的猜测是按压时间和距离是成正比的。

这是我们的工作原理:

在跳一跳页面截图

计算出初始点和终点的距离

想办法测出距离与按压时间的系数

想办法让手机按压指定的时间

重复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助你微信跳一跳拿高分

本文地址: http://www.cppcns.com/jiaoben/python/217020.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值