微信小程序一筆畫完輔助實現

前景提要:國慶期間本科好友聚會,有2個撒狗糧的在玩這個小遊戲,並試圖引其他人入坑,隨果斷中招,被吊打。由於以前看別人寫過跳一跳的輔助,遂想起這玩意也應該有可以有輔助的。所以網上百度,發現都是修改金幣的工具,這不符合我的追求自動化的要求。所以就想着自己擼一發。所以有此文,僅學習交流使用,代碼見文章最後。

開發環境:android6.0手機(打開usb調試),win10(有安裝adb),java運行環境

輔助關鍵點:

    1.對截取的圖像做邊緣截取

    2.對截取圖像識別成對應的二位數組

    3.一筆畫路徑規劃

    4.使用adb shell 命令模擬用戶點擊

詳細步驟:

    1.連接手機到電腦打開usb調試,手機運行一筆畫完

    2.截取當前屏幕圖像,把圖像導出到本機電腦

    3.通過觀察發現圖的大小是不會超出如下圈定的範圍,所以對其進行初步裁剪(初步裁剪的目的主要是爲了排除其他顏色對圖片之後操作的影響)

                                                                                                         

4.接下來就是要對圖片進行進一步的截取了,但是這時候你會發現沒一關所佔的大小是不一樣的,每一個小方塊的大小也是不一樣的。所以這裏就到了第一個關鍵點了。如何精確的按照邊緣來截取圖片了(開始我也考慮過用python來做,但是當我百度了一下我發現要不是比較複雜,要不然就是我看不懂,沒學過py。然後我就想到了之前一段時間很火的微信跳一跳不是有java版的輔助嘛,所以我就去找了找,我發現他們大多都是對特徵顏色判斷來識別目標的),這也就是上一步初步截取的時候要排除其他的干擾的顏色。

   現在有思路了,我們要對圖片進行顏色的判斷來截取帶,截取的辦法就是對圖片的上,下,左(右間隔與左一樣,因爲圖片是居中的)

空白區的裁剪,如下圖我們對其以5px的增量來判斷是否到灰色區域,並在一次增量來一行選取多個點來判斷,以防出現判斷不準確。

                                                                               

5.截取到邊緣圖片之後,另外一個關鍵點是對圖片轉換爲二維數組座標,但是這裏有個問題就是每一次的圖片中小方格在行和列上可能是不一樣的,所以就導致小方格的大小不一樣,所以就不能簡單的直接用突變的長寬來除以一個固定值。

  這時候我相到了一種辦法,就是第3步時我們得到了初步截取的圖片,然後進行了邊緣截取。經過對多關卡的分析,我發現邊緣截取時對於左邊的截取一共只有9種值,所以這裏我就這9中值每種情況的小方格大小進行了計算。之後的邊緣圖片小方格的大小就可以通過左邊截取值不同來確定。

 這時候我們我們只要把小方格變爲二維數組就很方便了,對於灰色的小方格在對應二維數組中存 1 對於白色存 0 表示障礙  對於其他顏色我們用來得到圖中小喵,這就是後面路勁規劃的起始點 存 0 。

6.得到二維數組後,接下來就是尋找小喵的移動路徑了,這裏用了貪心算法,通過遞歸棧的調用來實現,判斷循序是 上 左 下 右。然後就得到了一條路徑的座標。

7.得到路徑之後,接下來就要把二維座標路徑轉換爲屏幕上對應要點擊的位置,由於上面右小方格的大小,截取的位置,所以就不難了。

8.接下來就是對屏幕座標進行模擬點擊了,爲了方便自動點擊,我們把屏幕座標轉換爲對應的adb shell命令,以點擊屏幕 400 500 爲列,對應的adb命令爲 adb shell input tap 400 500  。把這些命令寫入一個win下的bat批處理文件中來幫我們自動執行。

9.在 一關通過後的之後關卡的操作一樣,所以寫以個bat來循序執行。

最後的效果就是用戶進入一筆畫玩,然後點擊bat文件,就自動來幫你遊戲了,你連下一關都不用點。

ps1:注意開啓手機屏幕常亮,當出錯後點擊重玩即可(即保證截圖爲初始狀態)

ps2:其實還有些地方可以改進,還可以更自動化一些,但是我懶,有問題請留言。

最主要的來了,代碼下載地址:https://download.csdn.net/download/qq_34435022/10740143(老版本,在200多關的時候就不行了)

最新代碼更新在github上,github下載地址:https://github.com/zhongyiqwer/yibihuawan(新版本,優化了代碼)

ps:本來是想直接傳上來的,但是最近沒有積分了啊,所以就1積分下載吧,你要是真沒有積分就留言吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章