您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何用Python玩轉一筆畫完小程序游戲,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1。運行環境及用到的庫
說一下運行環境,py腳本在windows上運行的,需要先安裝adb工具包,android手機(分辨率是1920x1080的)。
程序中用到了以下庫,PIL用來處理圖像的,用了os來執行一些adb命令。
2。整體思路。
一。將圖片中的格子轉換為一個地圖二維矩陣,矩陣中用2表示起點,1表示灰格子,-1表示其中的空白格。同時將每個格的中心點的位置放在另一個位置矩陣中,用于后續點擊手機的相應位置。
二。用深度優先搜索,搜索地圖二維矩陣,得到路線。沒怎么學過算法,關卡越往后面,搜索越慢。有興趣的大佬有好的方法可以改進改進。
三。用ADB工具,依次點擊相應的位置完成一筆畫。
3。分析及實現
我們看看圖片有哪些特點,首先用ps查看了下圖片(手機分辨率為1920x1080),每個灰格子的中心點的RGB值在(209,209,209)附近,白格子的中心點的RGB值在(249,249,249)附近。每兩個格子的中心點隔159個像素。
可以看到圖片的格子開始處距圖片最上方有一定距離,這個距離我取的365像素,在后面遍歷時會用上。我們先橫向遍歷圖片,找到第一個RGB值在(209,209,209)附近的像素點,將像素點向下移72個像素,從左向右遍歷這一行,再找第一個RGB值在(209,209,209)附近的像素點,再將這個像素點向右移72像素,得到第一個灰格子的中心點的位置信息。以這個位置為起點,分別向左上,右上,左下,右下方向遍歷,遍歷時以159像素為步長。下面看看這部分的代碼。
將手機截圖發到電腦并找第一塊灰格子中心點
轉化為地圖二維矩陣
找起點位置,并計算灰格子的數量
接著說下找路函數,用深度優先搜索,上右下左的方向進行搜索,中間用到一個判斷某位置能否走的函數
下面是深度優先搜索的部分代碼,找到路徑后用ADB工具進行點擊
最后讓程序循環跑就可以了,有時候程序會死掉,不會調。而且到了后面尋路函數會很慢。
上述就是小編為大家分享的如何用Python玩轉一筆畫完小程序游戲了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。