微信小遊戲跳一跳外掛輔助程序

原理說明

計算

調試時,修改 debug 爲 True,真實運行時,設置爲 False。停頓時間設置爲 2s,若是電腦運算速度太快,保險起見能夠設置爲 2s。python

原理

  1. adb 截圖
  2. 找到小人臀部座標(hsv 色相紫黑色)
  3. 找到下一橋墩的頂點座標
  4. 找到下一橋墩的極左/極右點座標
  5. 計算出下一橋墩的中心點座標
  6. 從小人臀部到下一橋墩中心點計算出跳遠距離
  7. 將距離換算爲長按時長
  8. 使用 adb 跳

更新日誌

2018-01-01git

目的只是找到極點,並不須要二值化,去除相關代碼。速度快。github

目前以 距離 x 1.5 做爲長按時長,基本能跳到目標中心位置。app

2017-12-30測試

去除垂直投影圖的方案,使用直接識別背景的方式去除背景,並二值化,以誤別「極點」。速度仍然慢。spa

2017-12-29debug

第一可用版本,準確性不高,速度慢,使用垂直投影圖進行目標查找。調試

開發環境搭建

系統環境

筆者環境:日誌

$ uname -a
Darwin rmbp-finn.lan 17.3.0 Darwin Kernel Version 17.3.0: Thu Nov  9 18:09:22 PST 2017; root:xnu-4570.31.3~1/RELEASE_X86_64 x86_64

$ python --version
Python 2.7.10

$ 測試機
小米5
複製代碼

安裝 Python 2.7

略。code

(可選安裝) virtualenv, virtualenvwrapper

略。

安裝 adb

略。

工程搭建

先 fork 一份到本身帳戶。而後:

$ mkvirtualenv wechat_micro_jump_game_hero
$ cdvitualenv
$ git clone ...
$ cd wechat_micro_jump_game_hero
$ echo `pwd` > ../.project
$ pip install pipenv
$ pipenv install
複製代碼

手機連上電腦,打開跳一跳小遊戲,並點擊開始,以後:

$ python main.py
複製代碼

演示視頻:sanhaolu.com/p/33251

源碼在這裏:github.com/Shu-Ji/wech…

相關文章
相關標籤/搜索