果要說一款經典的Windows 游戲,掃雷(Minesweeper)一定榜上有名,掃雷游戲的原型可以追溯到上世紀六七十年代,Windows系統中經典版的掃雷最早出現在Windows 3.x操作系統之中,其作者是Robert Donner 和 Curt Johnson,二十世紀九十年代,二人為微軟新版操作系統編寫的游戲——掃雷被微軟選中,自此在很長一段時間內都被集成在Windows系統之中,稱為家喻戶曉的經典游戲。
在Windows 3.x中,掃雷被描述為是一個向策略和運氣挑戰的游戲,而在Windows 7操作系統中,掃雷被描述為是一種具有迷惑性的對記憶和推理能力的簡單測試。從Windows 8操作系統開始,微軟不在系統中默認安裝掃雷游戲,但依舊可以通過Windows 應用商店來自行下載安裝,即使是目前的Windows 11系統也是如此。
掃雷游戲默認三個等級:初級、中級、高級
初級游戲由9x9的平鋪網格組成,共有10個地雷;中級游戲由16x16的平鋪網格組成,共有40個地雷;高級游戲由16x30個平鋪網格組成,共有99個地雷。
以Windows 98中的掃雷為例,其規則和玩法也非常簡單,只有花費幾分鐘的時間將幫助信息讀幾遍,便可以學會掃雷的玩法。
我們首先明確掃雷的目標:
迅速找到并標記出雷區中的所有地雷,而不許踩到地雷。注意迅速二字,掃雷游戲是計時的,從點擊第一個方塊開始,計時器便會自動啟動,直至找出所有地雷或觸雷才會停止,掃雷游戲有一個排行榜,據說當年比爾·蓋茨僅用4秒便完成了初級游戲。
掃雷游戲區包括左上角的地雷計數器、右上角的計時器和中間的笑臉。
要揭開某個方塊,就用鼠標點擊它,如果是地雷,那么該局游戲結束。
如果方塊上出現數字,它代表在它周圍的八個方塊中共有多少顆地雷,如果您認為某個方塊下方埋著地雷,那就用鼠標右鍵點擊它,作上旗子標記。
以下圖為例(IBM ThinkPad筆記本電腦,Windows 95 英文版操作系統,掃雷游戲Minesweeper)
左上角的地雷計數器提示還有3顆地雷,雷區還有5個方塊沒有被揭開,其破局的關鍵就在于第8列最底下的數字2,因為2標識該方塊周圍有2顆地雷,那只能是第七列最底下的2個方塊是雷。
找到2個地雷之后還剩余1個地雷,上圖鼠標指針指向處便是,因為鼠標指針右側的1代表在1周圍的8個格子中有1個地雷,而地雷的位置只能位于鼠標指針指向處。
找到所有地雷之后,Congratulations祝賀的對話框便會彈出,在文本框中輸入自己的名字便可以在系統中保存通關記錄。
掃雷游戲還有一些策略和技巧:
如果您沒有把握判定是否有雷,可以用鼠標右鍵點擊兩次,在方塊上標記一個問號(?)。并在恰當的時候再用鼠標右鍵點擊一次或兩次,將其標記為地雷或挖開。
如果某個數字方塊周圍的地雷全部標記完,可以同時點擊鼠標左右鍵,將其剩下的方塊挖開。如果挨著這個方塊的地雷沒有全部標記完,則未挖開的方塊將閃爍。這是提高游戲速度的一個小技巧。
尋找常見的數字組合。通常一種數字組合代表一個地雷布局。例如,對一條未挖開的方塊組成的邊,如果它旁邊的數字為“232”,則表示這三個數字旁邊的三個方塊都是地雷。這是進階高手的速算玩法。
除了掃雷游戲內置的三個難度等級,我們也可以自定義游戲難度,但這并不是無限的,在Windows 7版本的掃雷中,網格高度最大為24,寬度最大為30,地雷數最多為668個。
在Windows 98的掃雷中,最多地雷數為667,掃雷有一種默認設定是第一步不會觸雷,如下圖,第一步點擊出現的數字是8,第二步便踩中地雷了,可以說在如此高密度的地雷排布中,通關是不可能的。
還有一種情況如下圖所示:一個5x6的區域中的地雷已被標記,下一步該點擊哪里呢?
似乎這時只能靠一點運氣成分了,首先點擊左上角數字3的左上角方塊,出現了1個2,似乎沒有什么作用,再點擊左下角數字2的左下角方塊,哦,踩中地雷了。
所以,如果遇到上述情景,要如何破局呢?
T之家訊 在Win10正式版中,各種經典小游戲都以Windows應用的形式回歸了,《紙牌》系列更是被默認內置在系統中。不過仍然有用戶懷念Win7時代的Win32版小游戲,其中《掃雷》、《紙牌》、《空當接龍》和《紅心大戰》為最傳統的四大經典。
最近,國外論壇發布了一款名為“Windows7Games forWindows8andWindows10”的Win7游戲安裝包。該安裝包內容純凈,沒有任何插件,含簡體中文版,32位和64位Win8.1/Win10系統通用。內含所有Win7內置游戲,包括:國際象棋、Mahjong Titans、紅心大戰、掃雷、紙牌、空當接龍、蜘蛛紙牌、Purble Place、Internet黑桃王、Internet雙陸棋和Internet跳棋。
成功安裝后可在開始菜單新建的“游戲”文件夾找到這些游戲的快捷方式。
我們以《掃雷》為例,看看運行效果如何。
游戲本身和Win7中的體驗完全一樣,嘗試看游戲信息后,發現挺有意思。
雖然Windows10的logo非常醒目,但下面的版本號卻被識別成了Win8正式版的6.2(9200),其他游戲也是如此。當然這些細節都無所謂,找回曾經的時光才是最寶貴的事情。希望喜歡這些游戲的朋友們可以在Win10中重溫那段時光帶給我們的經典。
Win7內置游戲安裝包地址:網盤下載(171MB)
小貼士:安裝包采用了zip壓縮格式封裝,你可以使用軟媒魔方的軟媒壓縮打開,方便易用,永久免費。
迎點擊右上角關注小編,除了分享技術文章之外還有很多福利,私信學習資料可以領取包括不限于Python實戰演練、PDF電子文檔、面試集錦、學習資料等。
自動掃雷一般分為兩種,一種是讀取內存數據,而另一種是通過分析圖片獲得數據,并通過模擬鼠標操作,這里我用的是第二種方式。
1.掃雷游戲
我是win10,沒有默認的掃雷,所以去掃雷網下載
http://www.saolei.net/BBS/
推薦下我自己創建的Python學習交流群960410445,這是Python學習交流的地方!需要源碼也可以進來喲~~~~
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,如果沒有符合條件的,則隨機點擊一個白塊
插旗
點擊白塊
隨機點擊