freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于visualc的新版掃雷游戲設(shè)計(jì)與實(shí)現(xiàn)(已修改)

2025-01-28 22:38 本頁(yè)面
 

【正文】 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 1 頁(yè) 共 28 頁(yè) 1 引言 掃雷最原始的版本可以追溯到 1973 年一款名為 “方塊 ”的游戲。不久之后, “方塊 ”被改寫成了游戲 “Rlogic”。在 “Rlogic”里,玩家的任務(wù)是作為美國(guó)海軍陸戰(zhàn)隊(duì)隊(duì)員,為指揮中心探出一條沒有地雷的安全路線,如果路全被地雷堵死就算輸。兩年后,湯姆 安德森在 “Rlogic”的基礎(chǔ)上又編寫出了游戲 “地雷 ”,由此奠定了現(xiàn)代掃雷游戲的雛形。 1981 年, 微軟公司的羅伯特 杜爾和卡特 約翰遜兩位工程師在 Windows 系統(tǒng)上加載了該游戲,掃雷游戲才正式在全世界推廣開來(lái)。 1. 1 開發(fā)背景 在計(jì)算機(jī)逐 步滲入社會(huì)生活各個(gè)層面的今天,計(jì)算機(jī)已經(jīng)成為了人們?nèi)粘I钪械囊徊糠?,越?lái)越多的人使用計(jì)算機(jī)辦公、娛樂(lè)等等。 掃雷游戲是 Windows 操作系統(tǒng)自帶的一款小游戲,在過(guò)去的幾年里, Windows 操作系統(tǒng)歷經(jīng)數(shù)次換代更新,變得越來(lái)越龐大、復(fù)雜,功能也越來(lái)越強(qiáng)大,但是這款小游戲依然保持原來(lái)的容貌,可見這款小游戲受到越來(lái)越多人的喜愛。本次的畢業(yè)設(shè)計(jì)我將利用 Visual C++作為開發(fā)工具,開發(fā)一款類似的“掃雷游戲”。 1. 2 開發(fā)的目的以及意義 經(jīng)過(guò)四年的大學(xué)學(xué)習(xí),我對(duì)理論知識(shí)已經(jīng)有了一定的了解與認(rèn)知,本次的畢業(yè)設(shè)計(jì) 便是將書本上所學(xué)的理論知識(shí)與實(shí)際相結(jié)合,同時(shí)也是對(duì)所學(xué)知識(shí)的一種檢查,希望通過(guò)本次的畢業(yè)設(shè)計(jì)使自己在程序的開發(fā)和設(shè)計(jì)上有新的認(rèn)識(shí)并能有所提高。本次畢業(yè)設(shè)計(jì)既鍛煉了我們的實(shí)際動(dòng)手能力,又在老師的指導(dǎo)下進(jìn)行了一次模擬實(shí)際產(chǎn)品的開發(fā),對(duì)于我們以后工作能力的培養(yǎng)具有重要意義。 2 需求分析 2. 1 功能概述 掃雷游戲的游戲界面如圖 1 所示。在這個(gè)界面中,由眾多面積均等的小方塊所組成的區(qū)域稱之為雷區(qū),雷區(qū)的大小由用戶設(shè)置的游戲等級(jí)決定。 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 2 頁(yè) 共 28 頁(yè) 圖 1 初級(jí)雷區(qū) 游戲開始時(shí),系統(tǒng)會(huì)在雷區(qū)的某些小方塊中隨機(jī)布下若干個(gè)地雷 。安放好地雷的小方塊稱之為雷方塊,其他的稱之為非雷方塊。部署完畢后,系統(tǒng)會(huì)在其他非雷方塊中填充一些數(shù)字。某一個(gè)具體數(shù)字表示與其緊鄰的 8 個(gè)方塊中有多少雷方塊。玩家可以根據(jù)這些信息去判斷是否可以打開某些方塊,并把認(rèn)為是地雷的方塊打上標(biāo)識(shí)。 如果某個(gè)數(shù)字方塊周圍的地雷全都標(biāo)記完,可以指向該方塊并同時(shí)點(diǎn)擊鼠標(biāo)左右鍵,將其周圍剩下的方塊挖開。如果編號(hào)方塊周圍地雷沒有全部標(biāo)記,在同時(shí)點(diǎn)擊鼠標(biāo)左右鍵時(shí),其他隱藏或未標(biāo)記的方塊將被按下一次(即閃爍一下)。 當(dāng)玩家將所有地雷找出后,其余的非雷方塊區(qū)域都已打開,此時(shí)游戲結(jié)束。在游戲 過(guò)程中,一旦錯(cuò)誤地打開了雷方塊則立即失敗,游戲結(jié)束;當(dāng)玩家標(biāo)識(shí)的地雷數(shù)超過(guò)程序設(shè)定,雖然打開了全部其余方塊,游戲仍然不會(huì)結(jié)束。 在游戲開始后,雷區(qū)上方有兩個(gè)計(jì)數(shù)器。右邊的計(jì)數(shù)器顯示用戶掃雷所花費(fèi)的總時(shí)間,以秒為單位;左邊的計(jì)數(shù)器顯示當(dāng)前還剩余多少個(gè)雷方塊。 功能需求分析 游戲需要提供一個(gè)菜單欄,上面有不同的相關(guān)選項(xiàng),如游戲的開始、難度設(shè)置、 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 3 頁(yè) 共 28 頁(yè) 退出等。按功能將游戲區(qū)域分成兩個(gè)區(qū)域:雷區(qū)和提示區(qū)。提示區(qū)包括兩個(gè)計(jì)數(shù)器和一個(gè)按鍵操作結(jié)果圖像提示。游戲過(guò)程中,當(dāng)玩家用鼠標(biāo)點(diǎn)擊相應(yīng)的方塊,程序就會(huì)作出相應(yīng)的鼠 標(biāo)響應(yīng)事件,并伴隨著 GDI 繪圖,而眾多鼠標(biāo)事件的處理,都是圍繞著實(shí)現(xiàn)掃雷程序的算法而衍生的。 3 總體設(shè)計(jì) 游戲框架的搭建 ( 1) 工程項(xiàng)目的創(chuàng)建 利用應(yīng)用程序向?qū)?chuàng)建一個(gè)名稱為 Mine 的工程項(xiàng)目。由于不需要諸如工具欄、狀態(tài)欄等功能,并且掃雷游戲的框架是不允許改變窗口大小的,所以在向?qū)У牡谒牟嚼锩姘阉械倪x項(xiàng)置空,然后點(diǎn)擊 “ Advanced” 按鈕,在彈出的對(duì)話框中選中 “ Windows Styles” 選項(xiàng)卡,將 “ Maximize box” 項(xiàng)置空,其他均使用默認(rèn)設(shè)置。 ( 2) 框架的改造 通過(guò)類向?qū)?加一個(gè)繼承于 CFrameWnd 的類,命名為 CMineWnd,刪除CMineDoc、 CMineView 和 CAboutDlg 類,將 CMineWnd 類代替 CFrameWnd,讓程序啟動(dòng)的時(shí)候以此窗口為主窗口予以顯示。結(jié)果如圖 2 所示 。 圖 2 框架的改造 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 4 頁(yè) 共 28 頁(yè) 菜單的制作 參考 Windows 自帶的掃雷游戲,創(chuàng)建出 “ 游戲 ” 和 “ 幫助 ” 菜單,然后通過(guò)菜單資源編輯器設(shè)定菜單的功能選項(xiàng),包括難度級(jí)別的選擇、顏色和音效是否開啟、掃雷英雄榜、使用手冊(cè)、關(guān)于軟件的信息等。具體的菜單選項(xiàng)如圖 3 所示 。 圖 3 游戲菜單 ( 1) 難度級(jí)別的選擇 不同的難度級(jí)別有不同的雷區(qū)大小和不同的布雷數(shù)目,所以通過(guò)宏定義預(yù)定義不同級(jí)別的橫向方塊數(shù)目、縱向方塊數(shù)目和雷數(shù)。并將該宏定義放入新建的頭文件“ ” 中。 窗口除了雷區(qū)外至少還包括藍(lán)色窗口邊緣 Frame_wide、白色的視覺效果區(qū)line_wide、 3D 的外殼邊框 3D_line_wide、雷區(qū) mine_area_wide 等。于是還需要定義關(guān)于位置的宏變量。 由于難度級(jí)別的不同,窗口大小也會(huì)隨之改變,因此通過(guò)在 CMineWnd 類增加一個(gè)改變窗口大小的函數(shù) SizeWindow()去實(shí)現(xiàn)。 通過(guò) ClassWizard 分別選擇 “ 初級(jí) ” 、 “ 中級(jí) ” 和 “ 高級(jí) ” 菜單資源 ID,為它們添加 處 理 函 數(shù) OnMenuPrimary() 、 OnMenuSecond() 、 OnMenuAdvance() 。OnMenuAdvance()的實(shí)現(xiàn)如下,另外兩個(gè)類似。 void CMineWnd::OnMenuAdvance() { m_uLevel = LEVEL_ADVANCE。 m_uXNum = ADVANCE_XNUM。 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 5 頁(yè) 共 28 頁(yè) m_uYNum = ADVANCE_YNUM。 m_uMineNum = ADVANCE_MINENUM。 SetCheckedLevel()。 InitGame()。 Invalidate()。 SizeWindow()。 } ( 2) 雷區(qū)大小的自定義實(shí)現(xiàn) 首先新建一個(gè)自定義雷區(qū)對(duì)話框資源 (IDD_DLG_CUSTOM),然后添加高度、寬度、雷數(shù)三個(gè)靜態(tài)文本控件和三個(gè)對(duì)應(yīng)的 (IDC_HEIGHT) 、 (IDC_WIDTH) 、(IDC_NUMBER)編輯框控件,最后將 OK 和 Cancel 按鈕分別改名為 “ 確定 ” 和 “ 取消 ” 。結(jié)果如圖 4。 圖 4 自定義雷區(qū) 接著為該對(duì)話 框創(chuàng)建 CDlgCustom 類,然后為三個(gè)編輯控件分別添加關(guān)聯(lián)變量m_uHeight、 m_uNumber、 m_uWidth,最后為 OK 按鈕創(chuàng)建命令消息處理函數(shù) OnOK(),代碼如下所示。 void CDlgCustom::OnOK() { UpdateData()。 if (m_uWidth 9) m_uWidth = 9。 if (m_uWidth 30) m_uWidth = 30。 if (m_uHeight 9) m_uHeight = 9。 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 6 頁(yè) 共 28 頁(yè) if (m_uHeight 24) m_uHeight = 24。 if (m_uNumber 10) m_uNumber = 10。 if (m_uNumber m_uWidth * m_uHeight) m_uNumber = m_uWidth * m_uHeight 1。 CMineWnd *pMine = (CMineWnd*)AfxGetMainWnd()。 pMineSetCustom(m_uWidth, m_uHeight, m_uNumber)。// TODO: Add extra validation here CDialog::OnOK()。 } ( 3) 使用幫助的實(shí)現(xiàn) 由于 Windows 自帶有掃雷游戲,所以直接調(diào)用它的使用手。為 “ 使用幫助 ” 菜單選項(xiàng)創(chuàng)建命令消息處理函數(shù) OnMemuHelpUse(),代碼如下所示。顯示結(jié)果如圖 5所示。 void CMineWnd::OnMemuHelpUse() { ShellExecute(NULL,open,NULL,NULL,SW_SHOW)。 } 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 7 頁(yè) 共 28 頁(yè) 圖 5 使用幫助 ( 4) 以往的記錄 每一次游戲破記錄則將有關(guān) 信息保存下來(lái)。顯示結(jié)果如圖 6 所示。 圖 6 以往記錄 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 8 頁(yè) 共 28 頁(yè) ( 5) 掃雷英雄榜的實(shí)現(xiàn) 首先創(chuàng)建兩個(gè)對(duì)話框模板,一個(gè)用作當(dāng)用戶勝利結(jié)束游戲并打破歷史記錄后彈出的簽名記錄對(duì)話框模板 IDD_DLG_NEWRECORD,另外一個(gè)是用以顯示以往最高的游戲記錄的對(duì)話框模板 IDD_DLG_HERO。如圖 7 和圖 8 所示 。 圖 7 記錄對(duì)話框 圖 8 排行榜 然后為 IDD_DLG_HERO對(duì)話框模板創(chuàng)建 CDlgHero類 ,分別為編輯框控件添加關(guān)聯(lián)變量 m_szBHolder、 m_szBRecord、 m_szEHolder、 m_szERecord、 m_szIHolder、m_szIRecord,并將 Cancel 按鈕的 ID 和標(biāo)題分別改為 IDC_RESET 和重新計(jì)分,三個(gè)靜態(tài)文本標(biāo)題設(shè)置為初級(jí)記錄、中級(jí)記錄、高級(jí)記錄,最后為重新計(jì)分按鈕創(chuàng)建命令消息處理函數(shù) OnReset()和其他成員函數(shù)。對(duì) IDD_DLG_NEWRECORD 對(duì)話框模板類似處理。 布雷,掃雷核心算法的設(shè)計(jì)與實(shí)現(xiàn) ( 1) 算法的設(shè)計(jì) 把整個(gè)雷區(qū)看成一個(gè)二維數(shù)組, a[i][j]周圍的雷個(gè)數(shù)是由如下 8 個(gè)雷區(qū)決定的 (如 淮陰工學(xué)院畢業(yè)設(shè)計(jì) 說(shuō)明書 (論文) 第 9 頁(yè) 共 28 頁(yè) 果超出邊界,應(yīng)該再加以判斷 ): a[i1][j1], a[i1][j], a[i1][j+
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1