當前位置:
首頁 > 知識 > Python製作回合遊戲自動完成任務輔助腳本,進階篇

Python製作回合遊戲自動完成任務輔助腳本,進階篇

引入:

自動組隊刷道的流程是先點擊刷道按鈕、再點擊前往按鈕、再點擊便捷組隊······

這些操作上篇博文已經告訴我們怎麼做了,利用picpick丈量坐標,再用autopy模擬滑鼠點擊

但是點擊過便捷組隊後如何實現自動創建隊伍並匹配隊友呢?

這裡要用到文字識別

玩過問道的都知道,沒有隊友或者隊友數量沒到4的時候,隊伍會存在守護,如下

並且守護的位置是固定的,守護的優先順序是從左到右,例如,匹配到一個隊友,斗闕長老就會消失(不會參戰);再匹配一個隊友,白骨長老就會消失(不會參戰)

我的思路是,隔一段時間對夜神模擬器截圖,再對這張截圖文字識別,判斷「斗闕長老」和「白骨長老」是否存在於識別出的字元串中。當然,也可以判斷長老數量是否小於等於2

因為玩過回合制的知道,隊伍達到三個人就可以發車了,做任務的過程中系統會自動匹配隊友,直到匹配滿為止

前期準備:

利用PIL的ImageGrab截圖

安裝PIL

我這裡是用PyCharm直接安裝的依賴包

直接運行,會發現在當前目錄下有一個as.png的截圖文件

官方文檔對grab方法給出的解釋

這裡bbox = (x1,y1,x2,y2),意思是從屏幕坐標(x1,y1)到(x2,y2)的一段區域

利用baidu-aip進行文字識別

我嘗試過pytesseract和pytesser的文字識別,經常會出現識別失敗,對中文的支持也不夠友好

所以我這裡選用baidu-aip進行文字識別

PyCharm打開File->Settings->加號

搜索baidu-aip,再點擊左下角Install Package

我們需要APPP_ID、API_KEY、SECRET_KEY,我們去百度雲申請

登錄百度雲,百度雲盤和百度貼吧賬號可以直接使用,沒有的話申請一個百度賬號

找到文字識別

點擊創建應用

完成創建,個人用戶一天可以免費識別600次

需要識別文字的圖片用下圖

可以看到結果

回到頂部

開始製作外掛:

和上篇博客一樣,先丈量坐標,坐標根據解析度不同而不同,我這裡是1920*1080

刷道按鈕的坐標是(809,222)

前往按鈕的坐標是(1101,646)

便捷組隊的坐標是(1449,730)

創建隊伍按鈕(998,799)

開始匹配(1232,794)

丈量坐標完畢後,調用文字識別,判斷「斗闕長老」和「白骨長老」是否存在於識別的字元串中

如果兩位長老都不存在,說明隊伍里已經有三人。此時關閉刷道窗口,點擊陸壓真人,對話,開始刷道

設置十輪刷道時間,十輪刷道任務結束後開始新的一輪刷道

詳細代碼如下:

imageGrabUtil.py(截圖工具)

baiduAipUtil.py(文字識別工具)

我這裡百度雲的APPP_ID、API_KEY、SECRET_KEY保存在config.ini

config.ini

shuaDao.py

再次強調,我的代碼不一定在你的電腦上可以運行,我的電腦解析度是1920*1080,模擬器的位置是默認的放在中央,模擬器移動的話丈量的坐標都不一樣

製作外掛最重要的是思想方法


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 python 的精彩文章:

Python入門教程——邏輯運算符、身份運算符和成員運算符
Python運維開發哪家好

TAG:python |