教你用 Python 來玩微信跳一跳
2017 年 12 月 28 日下午,微信發(fā)布了 6.6.1 版本,加入了「小游戲」功能,并提供了官方 DEMO「跳一跳」。這是一個(gè) 2.5D 插畫風(fēng)格的益智游戲,玩家可以通過按壓屏幕時(shí)間的長短來控制這個(gè)「小人」跳躍的距離。分?jǐn)?shù)越高,那么在好友排行榜更加靠前。通過 Python 腳本自動(dòng)運(yùn)行,讓你輕松霸榜。
可能剛開始上手的時(shí)候,因?yàn)闀r(shí)間距離之間的關(guān)系把握不恰當(dāng),只能跳出幾個(gè)就掉到了臺(tái)子下面。如果能利用圖像識(shí)別精確測量出起始和目標(biāo)點(diǎn)之間測距離,就可以估計(jì)按壓的時(shí)間來精確跳躍。
原理說明
將手機(jī)點(diǎn)擊到《跳一跳》小程序界面
用 ADB 工具獲取當(dāng)前手機(jī)截圖,并用 ADB 將截圖 pull 上來
adb shell screencap -p /sdcard/autojump.png
adb pull /sdcard/autojump.png
復(fù)制代碼
計(jì)算按壓時(shí)間
手動(dòng)版:用 Matplotlib 顯示截圖,用鼠標(biāo)先點(diǎn)擊起始點(diǎn)位置,然后點(diǎn)擊目標(biāo)位置,計(jì)算像素距離;
自動(dòng)版:靠棋子的顏色來識(shí)別棋子,靠底色和方塊的色差來識(shí)別棋盤;
用 ADB 工具點(diǎn)擊屏幕蓄力一跳
adb shell input swipe x y x y time(ms)
復(fù)制代碼
使用教程
方法 1:使用 app 進(jìn)行一鍵操作。目前已適配 Win10 64位/macOS 平臺(tái) Android 一鍵操作,下載請(qǐng)移步?STOP_jump
方法 2:相關(guān)軟件工具安裝和使用步驟請(qǐng)參考?Android
和 iOS 操作步驟
FAQ
如果你手機(jī)的的 config.json 出錯(cuò)導(dǎo)致彈跳不準(zhǔn)確,或者有更好的參數(shù)?
請(qǐng)?jiān)谶@里提交你的問題?issues/62,或者將參數(shù)PR給我們并附上你的最高成績。
iOS 設(shè)備遇到問題怎么辦?
請(qǐng)移步參考:issues/99?和?issues/4
如果你對(duì)環(huán)境安裝和操作步驟不熟悉?
Android
和 iOS 操作步驟
如果你的分?jǐn)?shù)被微信清零或者排名不顯示?
注意不要刷太高分?jǐn)?shù),適當(dāng)休息,參見?issues/164
如果有找不到 ./autojump.png 文件的錯(cuò)誤?
請(qǐng)查閱?issue/194
如果你在苦苦尋找視頻教程?
參考一位 B 站 UP 主的視頻教程 [【微信跳一跳】教你如何不用雙手還能霸占排行榜第一名](https://www.bilibili.com/video/av17796840/?
小米設(shè)備程序運(yùn)行正常,但沒反應(yīng)?
除了 USB 調(diào)試,還要打開底下的 USB 調(diào)試(安全)
USB 可能要設(shè)置成 MTP 模式
錘子手機(jī)一直在蓄力,截圖出現(xiàn)?
調(diào)試前請(qǐng)先關(guān)閉大爆炸功能