国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實戰教程之自動掃雷

2020-02-15 22:23:13
字體:
來源:轉載
供稿:網友

前言

自動掃雷一般分為兩種,一種是讀取內存數據,而另一種是通過分析圖片獲得數據,并通過模擬鼠標操作,這里我用的是第二種方式。

一、準備工作

1.掃雷游戲

我是win10,沒有默認的掃雷,所以去掃雷網下載

http://www.saolei.net/BBS/


2.python 3

我的版本是 python 3.6.1

3.python的第三方庫

win32api,win32gui,win32con,Pillow,numpy,opencv

可通過 pip install --upgrade SomePackage 來進行安裝

注意:有的版本是下載pywin32,但是有的要把pywin32升級到最高并自動下載了pypiwin32,具體情況每個python版本可能都略有不同

我給出我的第三方庫和版本僅供參考

 

二、關鍵代碼組成

1.找到游戲窗口與坐標

#掃雷游戲窗口class_name = "TMain"title_name = "Minesweeper Arbiter "hwnd = win32gui.FindWindow(class_name, title_name)#窗口坐標left = 0top = 0right = 0bottom = 0if hwnd: print("找到窗口") left, top, right, bottom = win32gui.GetWindowRect(hwnd) #win32gui.SetForegroundWindow(hwnd) print("窗口坐標:") print(str(left)+' '+str(right)+' '+str(top)+' '+str(bottom))else: print("未找到窗口")

2.鎖定并抓取雷區圖像

#鎖定雷區坐標#去除周圍功能按鈕以及多余的界面#具體的像素值是通過QQ的截圖來判斷的left += 15top += 101right -= 15bottom -= 42#抓取雷區圖像rect = (left, top, right, bottom)img = ImageGrab.grab().crop(rect)

3.各圖像的RGBA值

#數字1-8 周圍雷數#0 未被打開#ed 被打開 空白#hongqi 紅旗#boom 普通雷#boom_red 踩中的雷rgba_ed = [(225, (192, 192, 192)), (31, (128, 128, 128))]rgba_hongqi = [(54, (255, 255, 255)), (17, (255, 0, 0)), (109, (192, 192, 192)), (54, (128, 128, 128)), (22, (0, 0, 0))]rgba_0 = [(54, (255, 255, 255)), (148, (192, 192, 192)), (54, (128, 128, 128))]rgba_1 = [(185, (192, 192, 192)), (31, (128, 128, 128)), (40, (0, 0, 255))]rgba_2 = [(160, (192, 192, 192)), (31, (128, 128, 128)), (65, (0, 128, 0))]rgba_3 = [(62, (255, 0, 0)), (163, (192, 192, 192)), (31, (128, 128, 128))]rgba_4 = [(169, (192, 192, 192)), (31, (128, 128, 128)), (56, (0, 0, 128))]rgba_5 = [(70, (128, 0, 0)), (155, (192, 192, 192)), (31, (128, 128, 128))]rgba_6 = [(153, (192, 192, 192)), (31, (128, 128, 128)), (72, (0, 128, 128))]rgba_8 = [(149, (192, 192, 192)), (107, (128, 128, 128))]rgba_boom = [(4, (255, 255, 255)), (144, (192, 192, 192)), (31, (128, 128, 128)), (77, (0, 0, 0))]rgba_boom_red = [(4, (255, 255, 255)), (144, (255, 0, 0)), (31, (128, 128, 128)), (77, (0, 0, 0))]

4.掃描雷區圖像保存至一個二維數組map

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 濮阳市| 广东省| 驻马店市| 鲁甸县| 荆州市| 大冶市| 勃利县| 招远市| 浦县| 屏东县| 施甸县| 石楼县| 金华市| 渑池县| 古田县| 沾化县| 海丰县| 孝昌县| 香河县| 万山特区| 延安市| 深圳市| 平山县| 儋州市| 通州市| 唐海县| 枣强县| 安阳市| 广元市| 名山县| 内丘县| 鱼台县| 金塔县| 抚宁县| 临潭县| 昂仁县| 德安县| 贵州省| 甘肃省| 东乌珠穆沁旗| 天等县|