資源描述:
《掃雷游戲程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、課程設(shè)計(jì)設(shè)計(jì)題目掃雷游戲程序設(shè)計(jì)學(xué)生姓名學(xué)號(hào)專業(yè)班級(jí)指導(dǎo)教師2013年11月5日設(shè)計(jì)題目掃雷游戲程序設(shè)計(jì)成績課程設(shè)計(jì)主要內(nèi)容掃雷游戲是Windows操作系統(tǒng)自帶的一款小游戲,在過去的幾年里Windows操作系統(tǒng)歷經(jīng)數(shù)次換代更新,變得越來越龐大、復(fù)雜,功能也越來越強(qiáng)大,但是這款小游戲依然保持原來的容貌,可見這款小游戲受到越來越多人的喜愛。參考系統(tǒng)自帶的掃雷程序,自行開發(fā)設(shè)計(jì)一款掃雷游戲。要求:(1)鼠標(biāo)左擊排雷,右擊插小旗,打問號(hào);(2)方格里面的數(shù)字表示方格周圍的雷數(shù);(3)能夠顯示未標(biāo)記雷數(shù)和游戲用時(shí);(4)雷區(qū)上面的小臉可以變化,顯示微笑
2、,驚訝,痛苦,勝利。在任何情況下單擊小臉可以重新開始游戲;(5)可進(jìn)行游戲難度的設(shè)定:包括預(yù)定義的難度級(jí)別(雷區(qū)行數(shù),列數(shù)和雷數(shù)),和自行定義雷區(qū)行數(shù),列數(shù)和雷數(shù)的功能;(6)排行榜功能,掃雷成功時(shí)候,根據(jù)游戲用時(shí)更新排行榜。指導(dǎo)教師評(píng)語建議:從學(xué)生的工作態(tài)度、工作量、設(shè)計(jì)(論文)的創(chuàng)造性、學(xué)術(shù)性、實(shí)用性及書面表達(dá)能力等方面給出評(píng)價(jià)。簽名:200年月日合肥工業(yè)大學(xué)課程設(shè)計(jì)任務(wù)書一.設(shè)計(jì)任務(wù)(1)鼠標(biāo)左擊排雷,右擊插小旗,打問號(hào);(2)方格里面的數(shù)字表示方格周圍的雷數(shù);(3)能夠顯示未標(biāo)記雷數(shù)和游戲用時(shí);(4)雷區(qū)上面的小臉可以變化,顯示微笑,
3、驚訝,痛苦,勝利。在任何情況下單擊小臉可以重新開始游戲;(5)可進(jìn)行游戲難度的設(shè)定:包括預(yù)定義的難度級(jí)別(雷區(qū)行數(shù),列數(shù)和雷數(shù)),和自行定義雷區(qū)行數(shù),列數(shù)和雷數(shù)的功能;(6)排行榜功能,掃雷成功時(shí)候,根據(jù)游戲用時(shí)更新排行榜。二.具體設(shè)計(jì)(一)、設(shè)計(jì)思路掃雷游戲是很經(jīng)典也很有趣的一款游戲,這次的游戲程序設(shè)計(jì)要求設(shè)計(jì)出功能與原游戲相近的一款游戲,首先定義變量和類要畫出游戲方格以及位圖,設(shè)計(jì)游戲等級(jí),等級(jí)越高方格越多雷數(shù)也越多;然后設(shè)置隨機(jī)布雷以保證每次重新開始游戲都有不同的雷區(qū)地圖;另外定義鼠標(biāo)左擊掃雷,左擊標(biāo)記周圍埋雷情況,右擊奇數(shù)次排雷偶數(shù)次
4、取消上次排雷,以及掃雷第一次左擊不能掃到雷。類名成員類別類型成員名描述CMyView屬性intleftnum剩下雷數(shù)intleinum雷數(shù)intn定義格數(shù)intjieshu結(jié)束intrealnum真實(shí)雷數(shù)intsecondstart開始計(jì)時(shí)intm_RowCount行intm_ColCount列shortsecond計(jì)時(shí)CBitmapm_Bitmap[12]位圖數(shù)組CBitmapm_anniu[4]按鈕數(shù)組Leilei[50][50]最大雷區(qū)方法afx_msgvoidOnTimer(UINTnIDEvent)計(jì)時(shí)器函數(shù)afx_msgvoidO
5、nLButtonDown(UINT,CPoint)左鍵按下消息afx_msgvoidOnStart()開始函數(shù)afx_msgvoidOnLButtonUp(UINT,CPoint)左鍵抬起消息afx_msgvoidOnRButtonDown(UINT,CPoint)右鍵按下消息afx_msgvoidOnEasy()簡單模式函數(shù)afx_msgvoidOnMiddle()中等模式函數(shù)afx_msgvoidOnHard()困難模式函數(shù)afx_msgintOnCreate(LPCREATESTRUCT)創(chuàng)建窗口函數(shù)Lei屬性intweitu標(biāo)志位圖i
6、ntshumu標(biāo)志狀態(tài)(二)、設(shè)計(jì)表示:(三)、實(shí)現(xiàn)功能1、鼠標(biāo)左擊排雷,右擊插小旗,打問號(hào);2、方格里面的數(shù)字表示方格周圍的雷數(shù);3、能夠顯示未標(biāo)記雷數(shù)和游戲用時(shí);4、雷區(qū)上面的小臉可以變化,顯示微笑,驚訝,痛苦,勝利。在任何情況下單擊小臉可以重新開始游戲;5、可進(jìn)行游戲難度的設(shè)定:包括預(yù)定義的難度級(jí)別(雷區(qū)行數(shù),列數(shù)和雷數(shù));6、任何時(shí)候開始游戲第一次點(diǎn)擊不會(huì)掃到雷。由于時(shí)間等原因未完成功能:排行榜和自行定義雷區(qū)行數(shù),列數(shù)和雷數(shù)功能。(四)、詳細(xì)設(shè)計(jì)1、添加位圖前十二幅是在雷區(qū)的,后四幅是按鈕。為了便于加載,必須各自保證其連續(xù)性。分別表示
7、游戲進(jìn)行的狀態(tài)、結(jié)果勝利或觸雷。2、預(yù)設(shè)等級(jí)方格數(shù)雷數(shù)變化voidCMywqq20112074View::OnEasy()/////////////////////////////初級(jí){m_RowCount=10;//行數(shù)10m_ColCount=10;//列數(shù)10leinum=10;realnum=leinum;SetTimer(1,50,NULL);//TODO:Addyourcommandhandlercodeheresecond=0;//計(jì)時(shí)secondstart=0;//1時(shí)開始計(jì)時(shí)//num=0;leftnum=leinum;//
8、剩余雷數(shù)jieshu=0;//jieshu=1時(shí)停止intaa=0;//初始化0for(inti=0;i