首頁  >  文章  >  後端開發  >  python可以做遊戲輔助嗎

python可以做遊戲輔助嗎

anonymity
anonymity原創
2019-06-14 15:40:3219692瀏覽

首先要聲明,這裡的遊戲外掛的概念,和那些大型網遊裡的外掛可不同,不能自動打怪,不能喝藥不能躲避GM…… 外掛是寫不了的,Python是腳本語言,不可能像易語言、C語言一樣流暢自如地編寫輔助;遊戲並不適合用Python開發,Python雖有pygame庫,但是功能不強,遊戲運行效率低下,寫遊戲還是要靠遊戲引擎。

python可以做遊戲輔助嗎

這裡可以用Python實作一個簡單的小遊戲腳本

工具的準備

需要安裝autopy和PIL以及pywin32包。 autopy是一個自動化操作的python庫,可以模擬一些滑鼠、鍵盤事件,還能對螢幕進行訪問,本來我想用win32api來模擬輸入事件的,發現這個用起來比較簡單,最厲害的是它是跨平台的,請搜尋安裝;而PIL那是大名鼎鼎了,Python圖像處理的No.1,下面會說明用它來做什麼;pywin32其實不是必須的,但是為了方便(滑鼠它在自己動著呢,如何結束它呢),還是建議安裝一下。

截圖與圖片處理工具

截圖是取得遊戲影像以供分析遊戲提示,其實沒有專門的工具直接Print Screen貼到影像處理工具裡也可以。我用的是PicPick,相當好用,而且個人用戶是免費的;而圖像處理則是為了獲取各種資訊的,我們要用它得到點菜圖像後保存起來,供外掛分析判斷。

編輯器

這個就不用說了吧,寫程式碼得要個編輯器啊!

原理分析

看這個遊戲,有8種菜,每種菜都有固定的做法,顧客一旦坐下來,頭頂上就會有一個圖片,看圖片就知道他想點什麼菜,點擊左邊原料區域,然後點擊一下……不知道叫什麼,像個竹簡一樣的東西,菜就做完了,然後把做好的食物拖曳到客戶面前就好了。

顧客頭上顯示圖片的位置是固定的,總共也只有四個位置,我們可以逐一分析,而原料的位置也是固定的,每種菜的做法更是清清楚楚,這樣一來我們完全可以判斷。

程式碼:

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()

以上是python可以做遊戲輔助嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn