當前位置:
首頁 > 知識 > 自動掃雷 python

自動掃雷 python


Linux編程

點擊右側關注,免費入門到精通!

作者丨chestnut_egg


https://www.cnblogs.com/chestnut-egg/p/9302238.html



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



代碼已上傳至GitHub



https://github.com/chestnut-egg/GoMine



一、準備工作

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.找到遊戲窗口與坐標



2.鎖定並抓取雷區圖像



3.各圖像的RGBA值


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



5.掃雷演算法



這裡我採用的最基礎的演算法


1.首先點出一個點



2.掃描所有數字,如果周圍空白+插旗==數字,則空白均有雷,右鍵點擊空白插旗



3.掃描所有數字,如果周圍插旗==數字,則空白均沒有雷,左鍵點擊空白


4.循環2、3,如果沒有符合條件的,則隨機點擊一個白塊




這個演算法在初級和中級通過率都不錯,但是在高級成功率慘不忍睹,主要是沒有考慮邏輯組合以及白塊是雷的概率問題,可以對這兩個點進行改進,提高成功率

 推薦↓↓↓ 






??

16個技術公眾號

】都在這裡!


涵蓋:程序員大咖、源碼共讀、程序員共讀、數據結構與演算法、黑客技術和網路安全、大數據科技、編程前端、Java、Python、Web編程開發、Android、iOS開發、Linux、資料庫研發、幽默程序員等。

萬水千山總是情,點個 「

好看

」 行不行

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python開發 的精彩文章:

編程中最困難的地方是取名
店家已報警

TAG:Python開發 |