溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

發(fā)布時間:2021-12-04 19:14:25 來源:億速云 閱讀:210 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)如何用Python玩轉(zhuǎn)一筆畫完小程序游戲,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1。運行環(huán)境及用到的庫

說一下運行環(huán)境,py腳本在windows上運行的,需要先安裝adb工具包,android手機(分辨率是1920x1080的)。

程序中用到了以下庫,PIL用來處理圖像的,用了os來執(zhí)行一些adb命令。

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

2。整體思路。

一。將圖片中的格子轉(zhuǎn)換為一個地圖二維矩陣,矩陣中用2表示起點,1表示灰格子,-1表示其中的空白格。同時將每個格的中心點的位置放在另一個位置矩陣中,用于后續(xù)點擊手機的相應(yīng)位置。

二。用深度優(yōu)先搜索,搜索地圖二維矩陣,得到路線。沒怎么學(xué)過算法,關(guān)卡越往后面,搜索越慢。有興趣的大佬有好的方法可以改進改進。

三。用ADB工具,依次點擊相應(yīng)的位置完成一筆畫。

3。分析及實現(xiàn)

我們看看圖片有哪些特點,首先用ps查看了下圖片(手機分辨率為1920x1080),每個灰格子的中心點的RGB值在(209,209,209)附近,白格子的中心點的RGB值在(249,249,249)附近。每兩個格子的中心點隔159個像素。

可以看到圖片的格子開始處距圖片最上方有一定距離,這個距離我取的365像素,在后面遍歷時會用上。我們先橫向遍歷圖片,找到第一個RGB值在(209,209,209)附近的像素點,將像素點向下移72個像素,從左向右遍歷這一行,再找第一個RGB值在(209,209,209)附近的像素點,再將這個像素點向右移72像素,得到第一個灰格子的中心點的位置信息。以這個位置為起點,分別向左上,右上,左下,右下方向遍歷,遍歷時以159像素為步長。下面看看這部分的代碼。

將手機截圖發(fā)到電腦并找第一塊灰格子中心點

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

轉(zhuǎn)化為地圖二維矩陣

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

找起點位置,并計算灰格子的數(shù)量

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

接著說下找路函數(shù),用深度優(yōu)先搜索,上右下左的方向進行搜索,中間用到一個判斷某位置能否走的函數(shù)

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

下面是深度優(yōu)先搜索的部分代碼,找到路徑后用ADB工具進行點擊

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

最后讓程序循環(huán)跑就可以了,有時候程序會死掉,不會調(diào)。而且到了后面尋路函數(shù)會很慢。

如何用Python玩轉(zhuǎn)一筆畫完小程序游戲

上述就是小編為大家分享的如何用Python玩轉(zhuǎn)一筆畫完小程序游戲了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI