資源描述:
《畢業(yè)設(shè)計(論文)-基于c++的掃雷游戲設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、淮陰工學(xué)院畢業(yè)設(shè)計說明書(論文)第28頁共28頁1引言掃雷最原始的版本可以追溯到1973年一款名為“方塊”的游戲。不久之后,“方塊”被改寫成了游戲“Rlogic”。在“Rlogic”里,玩家的任務(wù)是作為美國海軍陸戰(zhàn)隊隊員,為指揮中心探出一條沒有地雷的安全路線,如果路全被地雷堵死就算輸。兩年后,湯姆·安德森在“Rlogic”的基礎(chǔ)上又編寫出了游戲“地雷”,由此奠定了現(xiàn)代掃雷游戲的雛形。1981年,微軟公司的羅伯特·杜爾和卡特·約翰遜兩位工程師在Windows3.1系統(tǒng)上加載了該游戲,掃雷游戲才正式在全世界推廣開來
2、。1.1開發(fā)背景在計算機逐步滲入社會生活各個層面的今天,計算機已經(jīng)成為了人們?nèi)粘I钪械囊徊糠?,越來越多的人使用計算機辦公、娛樂等等。掃雷游戲是Windows操作系統(tǒng)自帶的一款小游戲,在過去的幾年里,Windows操作系統(tǒng)歷經(jīng)數(shù)次換代更新,變得越來越龐大、復(fù)雜,功能也越來越強大,但是這款小游戲依然保持原來的容貌,可見這款小游戲受到越來越多人的喜愛。本次的畢業(yè)設(shè)計我將利用VisualC++作為開發(fā)工具,開發(fā)一款類似的“掃雷游戲”。1.2開發(fā)的目的以及意義經(jīng)過四年的大學(xué)學(xué)習(xí),我對理論知識已經(jīng)有了一定的了解與認(rèn)知,本
3、次的畢業(yè)設(shè)計便是將書本上所學(xué)的理論知識與實際相結(jié)合,同時也是對所學(xué)知識的一種檢查,希望通過本次的畢業(yè)設(shè)計使自己在程序的開發(fā)和設(shè)計上有新的認(rèn)識并能有所提高。本次畢業(yè)設(shè)計既鍛煉了我們的實際動手能力,又在老師的指導(dǎo)下進行了一次模擬實際產(chǎn)品的開發(fā),對于我們以后工作能力的培養(yǎng)具有重要意義。2需求分析2.1功能概述掃雷游戲的游戲界面如圖1所示。在這個界面中,由眾多面積均等的小方塊所組成的區(qū)域稱之為雷區(qū),雷區(qū)的大小由用戶設(shè)置的游戲等級決定?;搓幑W(xué)院畢業(yè)設(shè)計說明書(論文)第28頁共28頁圖1初級雷區(qū)游戲開始時,系統(tǒng)會在雷區(qū)的
4、某些小方塊中隨機布下若干個地雷。安放好地雷的小方塊稱之為雷方塊,其他的稱之為非雷方塊。部署完畢后,系統(tǒng)會在其他非雷方塊中填充一些數(shù)字。某一個具體數(shù)字表示與其緊鄰的8個方塊中有多少雷方塊。玩家可以根據(jù)這些信息去判斷是否可以打開某些方塊,并把認(rèn)為是地雷的方塊打上標(biāo)識。如果某個數(shù)字方塊周圍的地雷全都標(biāo)記完,可以指向該方塊并同時點擊鼠標(biāo)左右鍵,將其周圍剩下的方塊挖開。如果編號方塊周圍地雷沒有全部標(biāo)記,在同時點擊鼠標(biāo)左右鍵時,其他隱藏或未標(biāo)記的方塊將被按下一次(即閃爍一下)。當(dāng)玩家將所有地雷找出后,其余的非雷方塊區(qū)域都已
5、打開,此時游戲結(jié)束。在游戲過程中,一旦錯誤地打開了雷方塊則立即失敗,游戲結(jié)束;當(dāng)玩家標(biāo)識的地雷數(shù)超過程序設(shè)定,雖然打開了全部其余方塊,游戲仍然不會結(jié)束。在游戲開始后,雷區(qū)上方有兩個計數(shù)器。右邊的計數(shù)器顯示用戶掃雷所花費的總時間,以秒為單位;左邊的計數(shù)器顯示當(dāng)前還剩余多少個雷方塊。2.2功能需求分析淮陰工學(xué)院畢業(yè)設(shè)計說明書(論文)第28頁共28頁游戲需要提供一個菜單欄,上面有不同的相關(guān)選項,如游戲的開始、難度設(shè)置、退出等。按功能將游戲區(qū)域分成兩個區(qū)域:雷區(qū)和提示區(qū)。提示區(qū)包括兩個計數(shù)器和一個按鍵操作結(jié)果圖像提示。
6、游戲過程中,當(dāng)玩家用鼠標(biāo)點擊相應(yīng)的方塊,程序就會作出相應(yīng)的鼠標(biāo)響應(yīng)事件,并伴隨著GDI繪圖,而眾多鼠標(biāo)事件的處理,都是圍繞著實現(xiàn)掃雷程序的算法而衍生的。3總體設(shè)計3.1游戲框架的搭建(1)工程項目的創(chuàng)建利用應(yīng)用程序向?qū)?chuàng)建一個名稱為Mine的工程項目。由于不需要諸如工具欄、狀態(tài)欄等功能,并且掃雷游戲的框架是不允許改變窗口大小的,所以在向?qū)У牡谒牟嚼锩姘阉械倪x項置空,然后點擊“Advanced”按鈕,在彈出的對話框中選中“WindowsStyles”選項卡,將“Maximizebox”項置空,其他均使用默認(rèn)設(shè)置
7、。(2)框架的改造通過類向?qū)砑右粋€繼承于CFrameWnd的類,命名為CMineWnd,刪除CMineDoc、CMineView和CAboutDlg類,將CMineWnd類代替CFrameWnd,讓程序啟動的時候以此窗口為主窗口予以顯示。結(jié)果如圖2所示。圖2框架的改造淮陰工學(xué)院畢業(yè)設(shè)計說明書(論文)第28頁共28頁3.2菜單的制作參考Windows自帶的掃雷游戲,創(chuàng)建出“游戲”和“幫助”菜單,然后通過菜單資源編輯器設(shè)定菜單的功能選項,包括難度級別的選擇、顏色和音效是否開啟、掃雷英雄榜、使用手冊、關(guān)于軟件的信息
8、等。具體的菜單選項如圖3所示。圖3游戲菜單(1)難度級別的選擇不同的難度級別有不同的雷區(qū)大小和不同的布雷數(shù)目,所以通過宏定義預(yù)定義不同級別的橫向方塊數(shù)目、縱向方塊數(shù)目和雷數(shù)。并將該宏定義放入新建的頭文件“MineDefs.h”中。窗口除了雷區(qū)外至少還包括藍色窗口邊緣Frame_wide、白色的視覺效果區(qū)line_wide、3D的外殼邊框3D_line_wide、雷區(qū)mine_area_