分?jǐn)?shù)霸榜! python助你微信跳一跳拿高分
前言
最近微信的跳一跳很火,大家看到排行榜上幾百上千的分?jǐn)?shù),再看看自己百分左右的分?jǐn)?shù)肯定很難過,我手殘怪我嗎?沒關(guān)系,如果你跟著我來,也能讓你分?jǐn)?shù)霸榜。
原理
首先大家是有一個直觀感受,根據(jù)兩個箱子距離的不同,需要按壓的時間也是不一樣的,一般來說,一個大膽的猜測是按壓時間和距離是成正比的。
這是我們的工作原理:
- 在跳一跳頁面截圖
- 計算出初始點(diǎn)和終點(diǎn)的距離
- 想辦法測出距離與按壓時間的系數(shù)
- 想辦法讓手機(jī)按壓指定的時間
- 重復(fù)1-4
工具
- adb調(diào)試工具,它可以輔助截圖以及上傳截圖給電腦,以及控制手機(jī)按壓位置及時間
- python 處理數(shù)據(jù)
- python Pillow庫 一個圖像庫,可以獲取圖像信息
- python matplotlib庫 配合Pillow打開圖像并記錄鼠標(biāo)點(diǎn)擊地方的坐標(biāo)
準(zhǔn)備工作
環(huán)境
fedora 27
python3.6
安裝
adb調(diào)試工具
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
開始行動
- 手機(jī)連接電腦,打開usb調(diào)試,彈框是否允許計算及對手機(jī)控制選擇是
- 終端運(yùn)行 adb devices 如果出現(xiàn) 590bc*** device類似的說明連接好了,否則重試第一步
- 打開微信跳一跳,點(diǎn)擊開始游戲,運(yùn)行腳本
- 在圖片上依次點(diǎn)擊棋子腳下和目的方框的中心
- 手機(jī)開始跳了
- 重復(fù)4
我的SM-C7000(1920x1080),我測出來系數(shù)是1.38。如果手機(jī)分辨率比我低,增大這個值,否則減小這個值,多次修改這個值直到適合你的手機(jī)。
代碼
#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:
#手機(jī)截屏
os.system(cut)
time.sleep(0.01)
#截圖上傳
os.system(push)
time.sleep(0.03)
pic = Image.open('autojump.png')
#獲取屏幕像素
(w,h) = pic.size
#手指點(diǎn)擊位置一般在中間偏下。取隨機(jī)值混淆系統(tǒng)檢測
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)
#讀取兩個點(diǎn)
(x1,x2) =pylab.ginput(2)
#兩點(diǎn)距離公式
s = ((x1[0]-x2[0])**2 + (x1[1] - x2[1])**2)**0.5
#print(s)1.38 2.05
#分辨率與按壓時間(ms)的系數(shù)
ratio = 1.38
#隨機(jī)更改按壓時間使他不是一個整百數(shù)
s = s*ratio + random.randint(-20,20)
s = int(s)
#pylab.close()
#像手機(jī)發(fā)送跳遠(yuǎn)按壓時間
os.system(jump.format(x=w,y=h,time=s))
time.sleep((s+500)/1000)
一些建議
最好停止跳之前手動跳幾步,防止被tx發(fā)現(xiàn)。
分?jǐn)?shù)不要太高,循序漸進(jìn)逐漸升高,否則容易被清空分?jǐn)?shù)。
更多內(nèi)容大家可以參考專題《微信跳一跳》進(jìn)行學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信跳一跳python自動代碼解讀1.0
- python版微信跳一跳游戲輔助
- 微信跳一跳python輔助腳本(總結(jié))
- 小米5s微信跳一跳小程序python源碼
- 微信跳一跳自動運(yùn)行python腳本
- 微信跳一跳游戲python腳本
- 微信跳一跳小游戲python腳本
- 微信跳一跳輔助python代碼實(shí)現(xiàn)
- 微信跳一跳python代碼實(shí)現(xiàn)
- Python+OpenCV讓電腦幫你玩微信跳一跳
- 微信跳一跳python輔助軟件思路及圖像識別源碼解析
- python實(shí)現(xiàn)微信跳一跳輔助工具步驟詳解
- 教你用 Python 實(shí)現(xiàn)微信跳一跳(Mac+iOS版)
- python微信跳一跳游戲輔助代碼解析
相關(guān)文章
學(xué)會用Python實(shí)現(xiàn)滑雪小游戲,再也不用去北海道啦
Python除了極少的事情不能做之外,其他基本上可以說全能.,圖形處理、文本處理、數(shù)據(jù)庫編程、網(wǎng)絡(luò)編程、web編程、黑客編程、爬蟲編寫、機(jī)器學(xué)習(xí)、人工智能等.接下來我就教大家做一個不用去北海道也可以滑雪的小游戲,需要的朋友可以參考下2021-05-05
徹底弄懂Python中的回調(diào)函數(shù)(callback)
回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中回調(diào)函數(shù)(callback)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
Python首次安裝后運(yùn)行報錯(0xc000007b)的解決方法
最近在安裝完P(guān)ython后運(yùn)行發(fā)現(xiàn)居然報錯了,錯誤代碼是0xc000007b,于是通過往上查找發(fā)現(xiàn)是因?yàn)槭状伟惭bPython缺乏VC++庫的原因,下面通過這篇文章看看如何解決這個問題吧。2016-10-10
Python調(diào)用PC攝像頭實(shí)現(xiàn)掃描二維碼
PC攝像機(jī)掃描二維碼的應(yīng)用場景很廣泛,可以應(yīng)用于各種需要快速掃描、識別和管理的場景,本文就來具體講講如何用Python實(shí)現(xiàn)這一功能吧2023-05-05
python3.x 生成3維隨機(jī)數(shù)組實(shí)例
今天小編就為大家分享一篇python3.x 生成3維隨機(jī)數(shù)組實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
使用python處理題庫表格并轉(zhuǎn)化為word形式的實(shí)現(xiàn)
這篇文章主要介紹了使用python處理題庫表格并轉(zhuǎn)化為word形式的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Flask框架學(xué)習(xí)筆記之表單基礎(chǔ)介紹與表單提交方式
這篇文章主要介紹了Flask框架學(xué)習(xí)筆記之表單基礎(chǔ)介紹與表單提交方式,結(jié)合實(shí)例形式分析了flask框架中表單的基本功能、定義、用法及表單提交的get、post方式使用技巧,需要的朋友可以參考下2019-08-08

