資源描述:
《掃雷游戲-課程設(shè)計(jì)報(bào)告》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、JAVA課程設(shè)計(jì)題目:掃雷游戲院(系)計(jì)算機(jī)信息工程學(xué)院專業(yè)網(wǎng)絡(luò)工程班級13級網(wǎng)絡(luò)工程1班學(xué)生姓名方琴劉莉虹程子卿薛中意設(shè)計(jì)時(shí)間2015年8月指導(dǎo)教師萬中英提交日期2015年10月8日摘要《掃雷》是一款大眾類的益智小游戲。游戲目標(biāo)是在最短的時(shí)間內(nèi)根據(jù)點(diǎn)擊格子出現(xiàn)的數(shù)字找出所有非雷格子,同時(shí)避免踩雷。先任意點(diǎn)開少量的方格,沒有爆炸時(shí),會出現(xiàn)一個(gè)數(shù)字,這個(gè)數(shù)字代表的意思是以它為中心的9個(gè)格子內(nèi)所有雷的個(gè)數(shù)。一般圍在一堆數(shù)字中間的有可能是雷,你在你認(rèn)為是雷的那里插旗,就可以把它設(shè)定為雷,然后在數(shù)字區(qū)用鼠標(biāo)左右鍵雙擊,可以打開非雷區(qū),等打開所有非雷區(qū),你就贏
2、了。采用GUI界面設(shè)計(jì),窗口定位,繪圖機(jī)制,鼠標(biāo)監(jiān)聽等Java技術(shù)。用戶可以自己選擇地雷的數(shù)量,地雷隨機(jī)分布在17*24的方塊矩陣中,地雷數(shù)量越多,難度越大。鼠標(biāo)放在方格上,單擊鼠標(biāo)左鍵開始游戲,按空格鍵插旗。如果插旗錯(cuò)誤,或是點(diǎn)擊到了地雷,則游戲失敗。1引言1.1該設(shè)計(jì)的目的及意義1.2該設(shè)計(jì)的要求1.3相關(guān)技術(shù)2總體設(shè)計(jì)2.1功能設(shè)計(jì)3詳細(xì)設(shè)計(jì)3.1系統(tǒng)界面設(shè)計(jì)3.1.1流程圖3.1.2界面截圖3.2程序描述3.2.1選擇地雷數(shù)量3.2.2游戲界面4課程設(shè)計(jì)總結(jié)4.1遇到問題解決問題過程4.2系統(tǒng)存在的問題,進(jìn)一步要做的工作4.3課程設(shè)計(jì)心得體會
3、5附錄(程序代碼)1.1該設(shè)計(jì)的目的及意義1.利用掃雷游戲鞏固和Java語言程序設(shè)計(jì)這一課程的基本知識的理解和掌握;2.掌握J(rèn)ava語言程序設(shè)計(jì)中編程和程序調(diào)試的基本技能;3.基本掌握完全面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法;4.利用Java語言程序設(shè)計(jì)學(xué)會基本的軟件設(shè)計(jì);5.掌握書寫程序設(shè)計(jì)說明文檔的能力。1.2課程設(shè)計(jì)要求1.分析課程設(shè)計(jì)題目的思路及要求;2.編寫程序代碼,調(diào)試程序使其能正確運(yùn)行;3.設(shè)計(jì)完成的軟件要便于操作和使用,有整齊、美觀的使用界面;4.能實(shí)現(xiàn)簡單的掃雷游戲;1.3相關(guān)技術(shù)1.GUI界面設(shè)計(jì);2.窗口定位;3.繪畫基礎(chǔ);4.事件
4、監(jiān)聽;5.繼承,以及接口技術(shù);2.1功能設(shè)計(jì)IndexPanel類成員變量變量意義變量類型名稱longserialVersionUID增加雷按鈕值booleanbuAdd減少雷按鈕值booleanbuDec玩游戲按鈕值booleanbuPlay成員方法方法名稱功能備注IndexPanel初始化參數(shù)構(gòu)造方法paint繪出游戲界面mousePressed實(shí)現(xiàn)鼠標(biāo)單擊事件接口方法mouseReleased實(shí)現(xiàn)鼠標(biāo)釋放事件接口方法該類實(shí)現(xiàn)游戲的開始界面,繼承了JPanel同時(shí)實(shí)現(xiàn)了監(jiān)聽MouseListener(鼠標(biāo)監(jiān)聽)事件。主要用于選定炸彈的數(shù)目,即游戲
5、的難易程度,點(diǎn)擊play按鈕則開始游戲。炸彈數(shù)量默認(rèn)為60。publicvoidpaint(Graphicsg){}采用畫筆的方式設(shè)計(jì)界面,布局清晰,實(shí)現(xiàn)窗口的定位。例如://畫設(shè)置炸彈數(shù)目的小球(40)g.setColor(Color.white);//畫筆的顏色g.fillOval(40,120,30,30);//畫的圖形是實(shí)心圓g.setColor(Color.gray);//重新設(shè)置畫筆的顏色g.drawOval(40,120,30,30);//畫的圖形是空心圓g.drawString("40",47,142);//圖形上面的字符串//畫PL
6、AY按鈕g.setColor(Color.white);g.draw3DRect(30,320,120,30,buPlay);g.drawString("PLAY",70,340);publicvoidmousePressed(MouseEvente){;}鼠標(biāo)點(diǎn)擊事件,實(shí)現(xiàn)炸彈的選擇。MyPanel類成員變量變量意義變量類型名稱返回后重新開始intreplay每插一旗變量加一intwin判斷是否贏intgameWinlongserialVersionUID判斷是否結(jié)束intgameOver是否有雷的標(biāo)志int[]bombFlag方塊周圍雷數(shù)int[
7、]count雷坐標(biāo)Int[]bomb_x,bomb_y判斷是否插旗Int[]hadFlag判斷插旗是否正確intcheck插旗錯(cuò)誤點(diǎn)的坐標(biāo)intcheck_x,check_y判斷是否點(diǎn)擊過Int[]clicked判斷是否已經(jīng)清除過Int[]clearFlag成員方法方法名稱功能備注MyPanel初始bombCount變量構(gòu)造方法paint繪出雷區(qū),初始化雷區(qū),及定義雷區(qū)功能,包括插旗、判斷輸贏等系統(tǒng)核心部分,使用了窗口定位,繪畫等技術(shù)mousePressed實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊事件,挖開方塊接口方法clear清除點(diǎn)擊處周圍安全非提示方塊keyPressed實(shí)
8、現(xiàn)鍵盤事件,插旗接口方法該類是游戲界面,也是最核心的類。不僅繼承了JPanel類,也通過鼠標(biāo)和鍵盤的監(jiān)聽事件