這里可以用Python實現(xiàn)一個簡單的小游戲腳本
工具的準備
需要安裝autopy和PIL以及pywin32包。autopy是一個自動化操作的python庫,可以模擬一些鼠標、鍵盤事件,還能對屏幕進行訪問,本來我想用win32api來模擬輸入事件的,發(fā)現(xiàn)這個用起來比較簡單,最厲害的是它是跨平臺的,請搜索安裝;而PIL那是大名鼎鼎了,Python圖像處理的No.1,下面會說明用它來做什么;pywin32其實不是必須的,但是為了方便(鼠標它在自己動著呢,如何結(jié)束它呢),還是建議安裝一下。
截屏和圖像處理工具
截屏是獲取游戲圖像以供分析游戲提示,其實沒有專門的工具直接Print Screen粘貼到圖像處理工具里也可以。我用的是PicPick,相當好用,而且個人用戶是免費的;而圖像處理則是為了獲取各種信息的,我們要用它得到點菜圖像后保存起來,供外掛分析判斷。
編輯器
這個就不用說了吧,寫代碼得要個編輯器啊!
原理分析
看這個游戲,有8種菜,每種菜都有固定的做法,顧客一旦坐下來,頭頂上就會有一個圖片,看圖片就知道他想要點什么菜,點擊左邊原料區(qū)域,然后點擊一下……不知道叫什么,像個竹簡一樣的東西,菜就做完了,然后把做好的食物拖拽到客戶面前就好了。
顧客頭上顯示圖片的位置是固定的,總共也只有四個位置,我們可以逐一分析,而原料的位置也是固定的,每種菜的做法更是清清楚楚,這樣一來我們完全可以判斷。
代碼:
class Menu: def __init__(self): self.stuff_pos = [] self.recipes = [None] * 8 self.init_stuff() self.init_recipe() def init_stuff(self): for i in range(9): self.stuff_pos.append( (L + 102 + (i % 3) * 42, T + 303 + (i / 3) * 42) ) def init_recipe(self): self.recipes[0] = (1, 2) self.recipes[1] = (0, 1, 2) self.recipes[2] = (5, 1, 2) self.recipes[3] = (3, 0, 1, 2) self.recipes[4] = (4, 1, 2) self.recipes[5] = (7, 1, 2) self.recipes[6] = (6, 1, 2) self.recipes[7] = (8, 1, 2) def click(self, i): autopy.mouse.move(self.stuff_pos[i][0] + 20, self.stuff_pos[i][1] + 20) autopy.mouse.click() def make(self, i): for x in self.recipes[i]: self.click(x) autopy.mouse.move(L + 315, T + 363) autopy.mouse.click()
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com