資源描述:
《java課程設(shè)計(jì)--掃雷游戲報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系課程設(shè)計(jì)報(bào)告20013~2014學(xué)年第一學(xué)期課程JAVA語言基礎(chǔ)課程設(shè)計(jì)名稱掃雷游戲?qū)W生姓名龔天棚學(xué)號(hào)1012091010專業(yè)班級(jí)網(wǎng)絡(luò)工程1班指導(dǎo)教師張貫虹2013年9月目錄第一章設(shè)計(jì)內(nèi)容及要求11.1掃雷游戲的基本要求11.2游戲需要實(shí)現(xiàn)的主要功能1第二章需求分析22.1掃雷游戲界面設(shè)計(jì)22.2雷區(qū)的設(shè)計(jì)22.3音效的設(shè)計(jì)32.4掃雷英雄榜的設(shè)計(jì)3第三章總體設(shè)計(jì)53.1總體功能圖53.2總體流程圖5第四章主要功能設(shè)計(jì)流程64.1雷區(qū)設(shè)計(jì)流程圖64.2音效設(shè)計(jì)流程圖64.3英雄榜設(shè)計(jì)流程圖7第五章主要功能設(shè)計(jì)流程8
2、5.1類之間關(guān)系圖85.2程序運(yùn)行效果圖85.2.1游戲登錄界面85.2.2游戲菜單界面95.2.3游戲運(yùn)行界面105.2.4游戲英雄榜界面12第六章總結(jié)13參考文獻(xiàn)14附錄15第一章設(shè)計(jì)內(nèi)容及要求1.1掃雷游戲的基本要求當(dāng)前各種游戲?qū)映霾桓F,因?yàn)橛螒虻拈_發(fā)成本非常大,所以游戲的開發(fā)具有一定的風(fēng)險(xiǎn)性,但是一些小游戲的開發(fā)成本具有成本小,編寫簡(jiǎn)單的優(yōu)勢(shì),所以這些小游戲在游戲開發(fā)中也占有一席之地。在這類小游戲中包括益智類游戲,它以畫面精美、游戲方法簡(jiǎn)單等特點(diǎn)得到大家的認(rèn)可。成為人們?cè)诠ぷ髦嗖豢苫蛉钡暮没锇?。針?duì)這種情況我選擇了掃雷游戲該課題作
3、為我的課程題目。WindowsXP和Windows7系統(tǒng)提供的掃雷游戲是一個(gè)很有趣的游戲。本次課程設(shè)計(jì)的主要任務(wù)是使用JAVA語言編寫一個(gè)與其類似的掃雷游戲。具體要求如下:1、掃雷游戲分為初級(jí)、中級(jí)和高級(jí)三個(gè)級(jí)別,同時(shí)掃雷英雄榜存儲(chǔ)每個(gè)級(jí)別的最好成績(jī),即挖出全部的地雷且用時(shí)最少者。單擊游戲菜單可以選擇“初級(jí)”、“中級(jí)”和“高級(jí)”或“查看英雄版”。2、選擇級(jí)別后將出現(xiàn)相應(yīng)級(jí)別的掃雷區(qū)域,這時(shí)用戶使用鼠標(biāo)左鍵單擊雷區(qū)中任何一個(gè)方塊便啟動(dòng)了計(jì)時(shí)器。3、用戶要揭開某個(gè)方塊,可單擊它。若所揭方塊下有雷,用戶便輸了這一局,若所揭方塊下沒有雷,則顯示一個(gè)
4、數(shù)字,該數(shù)字代表此方塊周圍的8個(gè)方塊中共有多少顆雷。4、如果用戶認(rèn)為某個(gè)方塊下埋著雷,單擊右鍵可以在方塊上標(biāo)識(shí)一個(gè)用戶認(rèn)為是雷的圖標(biāo),即給出一個(gè)掃雷標(biāo)記。用戶每標(biāo)記出一個(gè)掃雷標(biāo)記(無論用戶的標(biāo)記是否正確),窗口左上角的雷數(shù)計(jì)數(shù)器將會(huì)減少一個(gè)。5、掃雷勝利后(用時(shí)最少者),程序彈出保存成績(jī)的對(duì)話框。6、用戶如果遇到疑問的方塊,可以勾選游戲菜單下的標(biāo)記選項(xiàng)卡(或者用快捷鍵Alt+G然后點(diǎn)擊M)即可標(biāo)記該可疑方塊,此時(shí)雙擊右鍵并可出現(xiàn)“?”標(biāo)記。另有顏色選項(xiàng),當(dāng)用戶選中該項(xiàng)時(shí),游戲?qū)⒁宰畹蛨D像像素來顯示。7、如果用戶需要使用提示聲,可選中聲音選項(xiàng)
5、,此時(shí)將聽到計(jì)時(shí)的咔嗒聲。當(dāng)用戶點(diǎn)中雷時(shí),將有爆炸聲產(chǎn)生;勝利時(shí),將有凱旋的旋律播放,此時(shí)企鵝出現(xiàn)歡悅表情。1.2游戲需要實(shí)現(xiàn)的主要功能1、用戶可以自定義級(jí)別并且可以任意輸入雷數(shù);2、具有計(jì)時(shí)功能,既顯示用戶完成所有掃雷任務(wù)所需要的時(shí)間;3、自動(dòng)保存掃雷英雄榜。23第一章需求分析2.1掃雷游戲界面設(shè)計(jì)系統(tǒng)的整體布局為:CardLayout布局,采用了菜單、按鈕、面板等組件,菜單主要包括開始、選擇級(jí)別、標(biāo)記、掃雷英雄榜、退出等選項(xiàng)。2.2雷區(qū)的設(shè)計(jì)MineArea類是java.swing包中Jpanel容器的子類,實(shí)現(xiàn)了ActionListe
6、ner和MouseListener接口,所創(chuàng)建的對(duì)象:mineArea是MineGame類中最重要的成員之一,作為一個(gè)容器添加到MineGame窗口的中心。其中MineArea類的主要成員變量、方法以及和MineGame類之間組合關(guān)系的UML圖如圖2-1所示。圖2-1MineArea類的UML圖以下是UML圖中有關(guān)數(shù)據(jù)和方法的詳細(xì)說明。1、成員變量(1)block是Block類型的數(shù)組,用來確定雷區(qū)有多少需進(jìn)行掃雷的方塊。(2)blockView是BlockView類型的數(shù)組,負(fù)責(zé)為block數(shù)組中的Block對(duì)象提供視圖。(3)lay是L
7、ayMines類型的對(duì)象,負(fù)責(zé)設(shè)置block數(shù)組中的哪些方塊是雷或不是雷。(4)record負(fù)責(zé)提供保存成績(jī)的界面,是一個(gè)對(duì)話框,默認(rèn)不可見。用戶只有掃雷成功后(用時(shí)最少),才可以看見對(duì)話框。(5)reStart是一個(gè)按鈕對(duì)象,用戶單擊它重新開始游戲。(6)time是計(jì)時(shí)器對(duì)象,負(fù)責(zé)計(jì)算用戶的用時(shí)。2、方法(1)initMineArea(int,int,int,int)方法可根據(jù)參數(shù)提供的數(shù)據(jù)設(shè)置雷區(qū)的寬度、高度、雷的數(shù)目以及雷區(qū)的級(jí)別。23(2)actionPerformed(ActionEvent)是MineArea類實(shí)現(xiàn)的Action
8、Listener接口中的方法。當(dāng)用戶單擊blockView中的某個(gè)方塊時(shí),actionPerformed(ActionEvent)方法負(fù)責(zé)執(zhí)行有關(guān)算法,例如,當(dāng)用鼠標(biāo)左鍵單擊方塊