您好,登錄后才能下訂單哦!
小編給大家分享一下怎樣用python制作游戲腳本,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
代碼:
from time import sleep from pymouse import PyMouse from PIL import Image,ImageGrab from selenium import webdriver import time url = "http://www.4399.com/flash/178030_3.htm" #9個(gè)坑所在的矩形圖的坐標(biāo) coordinate = (395,530,1065,930) #x,y坐標(biāo),n為縮放倍數(shù)的倒數(shù),a為需要結(jié)合縮放倍數(shù)的橫坐標(biāo),b為需要結(jié)合縮放倍數(shù)的縱坐標(biāo) x,y=0,0 n=1/1.5 a,b=0,0 #9個(gè)打地鼠的坐標(biāo) loc1 = (488,562) loc2 = (721,581) loc3 = (969,578) loc4 = (466,732) loc5 = (725,706) loc6 = (1000,707) loc7 = (469,878) loc8 = (716,869) loc9 = (975,877) Loc_list = [(488,562)] Loc_list.append(loc2) Loc_list.append(loc3) Loc_list.append(loc4) Loc_list.append(loc5) Loc_list.append(loc6) Loc_list.append(loc7) Loc_list.append(loc8) Loc_list.append(loc9) def touch(x,y,mouse=1): a = x*n b = y*n m.click(int(a),int(b),mouse) class GameScript: def __init__(self): chrome = webdriver.Chrome('D:/googledriver/chromedriver.exe') chrome.maximize_window() chrome.get(url) chrome.implicitly_wait(30) def FlashOpen(self): touch(1660,80) touch(1400,217) #等網(wǎng)頁(yè)加載出來(lái),點(diǎn)擊允許 sleep(3) touch(1482,469) #關(guān)閉頁(yè)面 sleep(1) touch(707,25) #授權(quán)FLASH sleep(1) touch(723,700) sleep(1) touch(476,290) #關(guān)閉游戲聲音 touch(168,26,2) sleep(1) touch(282,258) def start(self): #點(diǎn)擊開(kāi)始游戲按鈕 touch(750,800) touch(1075,322) sleep(1) def CutImage(self): image = ImageGrab.grab(coordinate) width,height = image.size #用于存放九張小圖的左上和右下坐標(biāo) box_list = [] #小圖的寬 cut_width = int(width/3) #小圖的高 cut_height = int(height/3) #分切9圖,先獲得9組crop函數(shù)需要的坐標(biāo),再用crop函數(shù)截出來(lái) for i in range(0,3): for j in range(0,3): box = (j*cut_width, i*cut_height, (j+1)*cut_width, (i+1)*cut_height) box_list.append(box) image_list = [image.crop(box) for box in box_list] #返回的列表里面為圖片 return image_list #使兩張圖片統(tǒng)一格式,方便比較 def Get_Same_Image(image): size = (256,256) return image.resize(size).convert('RGB') #比較兩張圖片的直方圖,以獲得相似度 def Difference(list1,list2): sum1 = 0 for i in range(len(list1)): if(list1[i] == list2[i]): sum1 += 1 else: #依照公式可獲得 sum1 += 1-(abs(list1[i] - list2[i]) / max(list1[i],list2[i]) ) return sum1 / len(list1) def Get_Similarity(image1,image2): #統(tǒng)一格式 img1 = Get_Same_Image(image1) img2 = Get_Same_Image(image2) #獲得直方圖 list1 = img1.histogram() list2 = img2.histogram() return Difference(list1, list2) def AutoPlay(image_list): Timage = Image.open("C:/Users/Fatzj/Desktop/game script/yangping.png") for n in range(len(image_list)): #相似度大于0.45就拍一下 if(Get_Similarity(image_list[n], Timage) >= 0.45): #從Loc_list獲得要點(diǎn)擊的坐標(biāo) x = Loc_list[n][0] y = Loc_list[n][1] touch(x,y) #移開(kāi)錘子,避免干擾對(duì)比 touch(1075,322) if __name__ == "__main__": m = PyMouse() demo = GameScript() demo.FlashOpen() sleep(25) demo.start() time1 = 0 while(time1 < 60): start = time.perf_counter() image_list = demo.CutImage() AutoPlay(image_list) end = time.perf_counter() time1 += end-start print("結(jié)束運(yùn)行")
以上是“怎樣用python制作游戲腳本”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。