温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样用python制作游戏脚本

发布时间:2020-11-30 10:52:08 来源:亿速云 阅读:550 作者:小新 栏目:编程语言

小编给大家分享一下怎样用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个坑所在的矩形图的坐标 coordinate = (395,530,1065,930) #x,y坐标,n为缩放倍数的倒数,a为需要结合缩放倍数的横坐标,b为需要结合缩放倍数的纵坐标 x,y=0,0 n=1/1.5 a,b=0,0 #9个打地鼠的坐标 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)         #等网页加载出来,点击允许         sleep(3)         touch(1482,469)         #关闭页面         sleep(1)         touch(707,25)         #授权FLASH         sleep(1)         touch(723,700)         sleep(1)         touch(476,290)         #关闭游戏声音         touch(168,26,2)         sleep(1)         touch(282,258)          def start(self):         #点击开始游戏按钮         touch(750,800)         touch(1075,322)         sleep(1)              def CutImage(self):         image = ImageGrab.grab(coordinate)         width,height = image.size         #用于存放九张小图的左上和右下坐标         box_list = []         #小图的宽         cut_width = int(width/3)         #小图的高         cut_height = int(height/3)         #分切9图,先获得9组crop函数需要的坐标,再用crop函数截出来         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 #使两张图片统一格式,方便比较 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):     #统一格式     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获得要点击的坐标             x = Loc_list[n][0]             y = Loc_list[n][1]             touch(x,y)             #移开锤子,避免干扰对比             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("结束运行")

以上是“怎样用python制作游戏脚本”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI