![Java程序設(shè)計(jì)實(shí)訓(xùn)教程課件實(shí)訓(xùn)一 掃雷游戲_第1頁](http://file4.renrendoc.com/view11/M01/0E/0B/wKhkGWWKuNOAH4y7AABDS0sg02c511.jpg)
![Java程序設(shè)計(jì)實(shí)訓(xùn)教程課件實(shí)訓(xùn)一 掃雷游戲_第2頁](http://file4.renrendoc.com/view11/M01/0E/0B/wKhkGWWKuNOAH4y7AABDS0sg02c5112.jpg)
![Java程序設(shè)計(jì)實(shí)訓(xùn)教程課件實(shí)訓(xùn)一 掃雷游戲_第3頁](http://file4.renrendoc.com/view11/M01/0E/0B/wKhkGWWKuNOAH4y7AABDS0sg02c5113.jpg)
![Java程序設(shè)計(jì)實(shí)訓(xùn)教程課件實(shí)訓(xùn)一 掃雷游戲_第4頁](http://file4.renrendoc.com/view11/M01/0E/0B/wKhkGWWKuNOAH4y7AABDS0sg02c5114.jpg)
![Java程序設(shè)計(jì)實(shí)訓(xùn)教程課件實(shí)訓(xùn)一 掃雷游戲_第5頁](http://file4.renrendoc.com/view11/M01/0E/0B/wKhkGWWKuNOAH4y7AABDS0sg02c5115.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)訓(xùn)一掃雷游戲1.1系統(tǒng)設(shè)計(jì)需求分析隨機(jī)布雷實(shí)現(xiàn)掃雷功能標(biāo)記小方塊選擇游戲的難度顯示剩余雷數(shù)顯示已使用時(shí)間最好成績記錄重新開始加快掃雷進(jìn)程加入聲音1.1系統(tǒng)設(shè)計(jì)類的設(shè)計(jì)MineFrame
MinePanelBlockBlockTypeBlockStateRecordGradeTimer對話框類監(jiān)聽器類1.2創(chuàng)建主窗口創(chuàng)建Java項(xiàng)目Saolei創(chuàng)建子文件夾image,將需要的圖標(biāo)復(fù)制到該文件夾創(chuàng)建MineFrame類publicclassMineFrameextendsJFrame{JMenuBarmenuBar;JMenumenu;JMenuItem[]menuItems;String[]menuItemNames={"初級(jí)","中級(jí)","高級(jí)","自定義","排行榜","退出"};JTextFieldminesRemained; //顯示剩余雷數(shù)的文本框JButtonreStart; //重新開始按鈕JTextFieldtimeUsed; //顯示游戲使用時(shí)間的文本框Iconface; //按鈕上的圖標(biāo)JPanelupPanel;//計(jì)時(shí)區(qū)域創(chuàng)建主程序類Saolei1.3
MinePanel類和Block類
BlockType類publicclassBlockType{ staticfinalintZERO=0;//周圍的雷數(shù) staticfinalintONE=1; staticfinalintTWO=2; staticfinalintTHREE=3; staticfinalintFOUR=4; staticfinalintFIVE=5; staticfinalintSIX=6; staticfinalintSEVEN=7; staticfinalintEIHHT=8; staticfinalintMINE=9;//是雷}1.3
MinePanel類和Block類
BlockState類publicclassBlockState{ staticfinalintORIGINAL=0;//初始狀態(tài) staticfinalintOPEN=1;//翻開狀態(tài) staticfinalintMINE_FLAG=2;//標(biāo)記為雷 staticfinalintQUESTION_FLAG=3;//標(biāo)記為問號(hào) staticfinalintEXPLODED=4;//爆炸狀態(tài)}
Grade類publicclassGrade{ publicstaticfinalintLOWER=1;//初級(jí) publicstaticfinalintMEDIAL=2;//中級(jí) publicstaticfinalintHIGHER=3;//高級(jí) publicstaticfinalintSELF_DEFINE=4;//自定義}1.3
MinePanel類和Block類
Block類屬性 privateMinePanelminePanel; privateintrow;//在雷區(qū)的行號(hào) privateintcol;//在雷區(qū)的列號(hào) publicfinalintWIDTH=19;//方塊的寬度 publicfinalintHEIGHT=19;//方塊的高度 privateinttype;//0,1,2,3,4,5,6,7,8,(9雷) privateintstate;//0原始狀態(tài),1翻開,2標(biāo)記為雷,3標(biāo)記為問號(hào) publicstaticToolkittk; publicstaticfinalImage[]numberImage;//0~8 publicstaticfinalImage[]flagImage;//0標(biāo)記為雷、1標(biāo)記為問號(hào) publicstaticfinalImage[]bombImage;//0未爆炸、1已爆炸
publicstaticfinalImagebackImage;//未翻開時(shí)的背面
1.3
MinePanel類和Block類
Block類方法publicbooleanopen()//翻開,遇雷失敗publicvoiddraw(Graphicsg)//畫出不同類型、不同狀態(tài)的方塊構(gòu)造方法、get、set方法
1.3
MinePanel類和Block類
MinePanel類屬性 publicfinalintGRID_WIDTH=20;//方格的寬度 publicfinalintGRID_HEIGHT=20;//方格的高度 privateMineFramemf; privateintcols;//雷區(qū)的列數(shù) privateintrows;//雷區(qū)的行數(shù) privateintmines;//雷區(qū)的雷數(shù) privateintremainedMines;//未標(biāo)記的雷數(shù) privateintopenedBlocks;//已經(jīng)翻開的方塊數(shù) privateBlock[][]blocks;//方塊數(shù)組1.3
MinePanel類和Block類
MinePanel類方法publicvoidinitMinePanel(introws,intcols,intmines)//初始化參數(shù)privatevoidcreateBlocks()//創(chuàng)建小方塊privatevoidlayMines()//隨機(jī)布雷privatevoidcountMines(introw,intcol)//計(jì)算指定方塊周圍的雷數(shù)publicvoidpaint(Graphicsg)//畫出雷區(qū)publicDimensiongetPreferredSize()1.3
MinePanel類和Block類將雷區(qū)加入到MineFrame中在MineFrame類中添加屬性 MinePanelminePanel; privateintrows; privateintcols; privateintmines;添加initParameter方法privatevoidinitParameter(introws,intcols,intmines){ this.rows=rows; this.cols=cols; this.mines=mines;}1.3
MinePanel類和Block類將雷區(qū)加入到MineFrame中修改構(gòu)造方法
publicMineFrame(){ createMenu(); createUpPanel(); initParameter(10,10,10); minePanel=newMinePanel(this,rows,cols,mines); Containerc=this.getContentPane(); c.add(upPanel,BorderLayout.NORTH); c.add(minePanel,BorderLayout.CENTER);
this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.pack();
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setVisible(true); }1.4實(shí)現(xiàn)掃雷功能翻開小方塊在MineFrame類中添加屬性 privatebooleangamming;//正在掃雷? privatebooleanstoped; //游戲已停止?在MineFrame類中添加set、get方法修改MineFrame類的initParameter()方法MinePanel類添加鼠標(biāo)監(jiān)聽器類MinePanel類添加Open()方法
注冊鼠標(biāo)監(jiān)聽器1.4實(shí)現(xiàn)掃雷功能處理輸贏以及搜索方法wins()方法lose()方法
search()方法在open()方法中調(diào)用wins()方法、lose()方法、search()方法1.4實(shí)現(xiàn)掃雷功能加快掃雷進(jìn)程
右鍵單擊已經(jīng)翻開的方塊,如果該方塊臨近的雷已經(jīng)全部標(biāo)識(shí)出來,則翻開尚未翻開的相鄰方塊。1.4實(shí)現(xiàn)掃雷功能重新開始游戲
在“開始”按鈕監(jiān)聽器中填寫處理代碼。。1.5選擇游戲難度級(jí)別MineFrame添加grade屬性添加grade屬性添加get和set方法自定義難度對話框完善菜單監(jiān)聽器類在選擇難度級(jí)別的菜單處理分支添加相應(yīng)的代碼。1.6實(shí)現(xiàn)計(jì)時(shí)功能
UpdateTimeTask類創(chuàng)建UpdateTimeTask類添加UpdateTimeTask類型的屬性(MinePanel類中)啟動(dòng)計(jì)時(shí)與終止計(jì)時(shí)啟動(dòng)計(jì)時(shí):鼠標(biāo)監(jiān)聽器中,翻開第一個(gè)小方塊開始計(jì)時(shí)。終止計(jì)時(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高中語文上學(xué)期 文言文句子翻譯說課稿001
- 二零二五年度生物質(zhì)生物質(zhì)顆粒燃料環(huán)保認(rèn)證合同
- 7 什么比獵豹的速度更快 (說課稿)-2024-2025學(xué)年統(tǒng)編版語文五年級(jí)上冊
- 二零二五年度跨境電商平臺(tái)勞務(wù)派遣合作框架協(xié)議2篇
- 2024-2025學(xué)年高中英語上學(xué)期第14周說課稿
- 2025年度借款合同范本電子版制作與電子化管理合同3篇
- 二零二五年度民辦中小學(xué)校長任期學(xué)校科研創(chuàng)新聘用協(xié)議
- 二零二五年網(wǎng)絡(luò)安全培訓(xùn)服務(wù)合同范本
- 2024-2025學(xué)年新教材高中歷史 第10單元 改革開放與社會(huì)主義現(xiàn)代化建設(shè)新時(shí)期單元小結(jié)與測評(píng)同步說課稿 新人教版必修《中外歷史綱要(上)》001
- 二零二五年度外匯市場分析及交易策略咨詢合同
- 2025年熱管換熱氣行業(yè)深度研究分析報(bào)告
- 2025年陜西西安市經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管委會(huì)招聘30人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 如何進(jìn)行有效的目標(biāo)設(shè)定和達(dá)成
- 工程類工程公司介紹完整x
- 板帶生產(chǎn)工藝熱連軋帶鋼生產(chǎn)
- 關(guān)鍵工序特殊過程培訓(xùn)課件精
- 輪機(jī)備件的管理(船舶管理課件)
- 統(tǒng)編《道德與法治》三年級(jí)下冊教材分析
- 國際尿失禁咨詢委員會(huì)尿失禁問卷表
- 運(yùn)動(dòng)技能學(xué)習(xí)中的追加反饋
- 《淄博張店區(qū)停車問題治理現(xiàn)狀及優(yōu)化對策分析【開題報(bào)告+正文】15000字 》
評(píng)論
0/150
提交評(píng)論