2017年12月28日下午, 微信發佈了 6.6.1 版本, 加入了「小遊戲」功能, 並提供了官方 demo「跳一跳」。
遊戲模式
這是一個 2.5D 插畫風格的益智遊戲, 玩家可以通過按壓螢幕時間的長短來控制這個「小人」跳躍的距離。 可能剛開始上手的時候, 因為時間距離之間的關係把握不恰當, 只能跳出幾個就掉到了檯子下面。
玩法類似於《flappy bird》
如果能精確測量出起始和目標點之間測距離, 就可以估計按壓的時間來精確跳躍?所以花2個小時寫了一個python腳本進行驗證
工具介紹
Python 2.7
Android 手機
Adb 驅動
Python Matplot繪圖
原理說明
將手機點擊到《跳一跳》小程式介面;
用Adb 工具獲取當前手機截圖, 並用adb將截圖pull上來
12adb shell screencap -p /sdcard/1.pngadb pull /sdcard/1.png .用matplot顯示截圖;
用滑鼠點擊起始點和目標位置, 計算圖元距離;
根據圖元距離, 計算按壓時間;
用Adb工具點擊螢幕蓄力一跳;
1adb shell input swipe x y x y time實驗結果
可以對拉上來的圖片進行顏色分割, 識別小人和目標中心店, 這樣就不需要手動點擊自動彈跳。
事實證明, 機器人比人更會玩兒遊戲。