【正文】
r4()方法設(shè)置方格翻開(kāi)后為數(shù)字 4。 setnumber0()方法設(shè)置方格翻開(kāi)后為空白。 setBgIcon16()方法設(shè)置方格的背景圖片 。 row、 col 為方格所在行、列號(hào) 。 lei 為是否地雷的標(biāo)志 。實(shí)現(xiàn)了 Runnable 接口,重載了 run 函數(shù),該函數(shù)實(shí)現(xiàn)了掃雷失敗后的爆炸效果。 St a D ia lo g+l is t 1: J L is t+p 0, p 1, p 2, p 3, p 4: J P a n e l+l 1, l2, l3, l4, l5, l6, l7: J L a b e l+b 1, b 2: J B u t t on+s : S t r in g+P a r e D lg : R u n n a b le+S t a D ia log l( S a ol e iM a in s a ol e i)+c h u ji( ) : v oi d+z h on g ji( ) : v oi d+g a oj i( ) : v oi d+s e t S e le c t ion ( ) : v oi d+s e t L is t I n d e x 0( ) : v oi d+s e t L is t I n d e x 1( ) : v oi d+s e t L is t I n d e x 2( ) : v oi d碼農(nóng)畢業(yè)設(shè)計(jì)下載網(wǎng): 18 s s2 和 s3 分別表示自定義級(jí)別中雷區(qū)方格的行數(shù)、列數(shù)和地雷數(shù)量。 碼農(nóng)畢業(yè)設(shè)計(jì)下載網(wǎng): 16 Custom 類 Custom 類是 包中 JDialog 對(duì)話框的子類 ,主要負(fù)責(zé)游戲級(jí)別的定義,以及自定義游戲級(jí)別,實(shí)現(xiàn)雷區(qū)行數(shù)、列數(shù)以及地雷數(shù)量等。 mouseClicked 就是單擊按鈕觸發(fā)的事件,當(dāng)左擊按鈕后,如果方格中不是雷,則顯示方格中的雷數(shù),否則掃雷失敗,整個(gè)方格全部翻轉(zhuǎn)。 Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。 Java 自面世后就非常流行,發(fā)展迅速,對(duì) C++語(yǔ)言形成有力沖擊。 ( 2)計(jì)算方格周圍雷數(shù) 每個(gè)方格周圍 8 個(gè)方格中雷的數(shù)量為方格周圍雷數(shù),用戶就是根據(jù)方格中顯示的方格周圍雷數(shù)綜合判斷該方格是否為雷,因此,方格周圍雷數(shù)的計(jì)算非常關(guān)鍵。 3 主要負(fù)責(zé)將玩家掃雷情況的統(tǒng)計(jì)信息以對(duì)話框的形式顯示。 程序啟動(dòng)后,初始化按鈕、菜單,根據(jù)用戶選擇的掃雷級(jí)別,生成雷區(qū)方格數(shù)量,隨機(jī)布雷的位置,計(jì)算每個(gè)方格中的雷數(shù),存儲(chǔ)在緩存區(qū),在界面中顯示雷數(shù),程序總體流程如圖 32 所示, 掃 雷 游 戲 布 局游 戲 時(shí) 間 雷 數(shù)新游戲統(tǒng)計(jì)信息選項(xiàng)退出碼農(nóng)畢業(yè)設(shè)計(jì)下載網(wǎng): 9 圖 32 總體流程圖 Figure 32 Overall flowchart of FIG. 功能分析 整個(gè)游戲可以分為四個(gè)功能模塊:界面模塊,負(fù)責(zé)接收用戶輸入,組織和顯示方格以及雷等;布雷模塊,負(fù)責(zé)隨機(jī)布雷,設(shè)置并記錄哪個(gè)方格為雷;計(jì)算雷數(shù)模塊,負(fù)責(zé)計(jì)算非雷方格周圍雷數(shù),并且將雷數(shù)保存;記錄掃雷信息模塊,記錄用戶掃雷的各種信息,并且保存。 掃 雷 游 戲游戲選關(guān)游戲布局掃雷游戲計(jì)時(shí)統(tǒng)計(jì)碼農(nóng)畢業(yè)設(shè)計(jì)下載網(wǎng): 7 碼農(nóng)畢業(yè)設(shè)計(jì)下載網(wǎng): 8 3 概要設(shè)計(jì) 概要設(shè)計(jì)的主要任務(wù)是把 需求分析 結(jié)果 轉(zhuǎn)換為 軟件結(jié)構(gòu) 和數(shù)據(jù)結(jié)構(gòu)。 ( 6)退出 可以用界面的關(guān)閉鍵結(jié)束游戲。 左鍵單擊: 在判斷出不是雷的方塊上按下左鍵,可以打開(kāi)該方塊。如果某個(gè)數(shù)字方塊周圍的地雷全部標(biāo)記完,可以單擊鼠標(biāo)左鍵,將其周圍剩下的方塊挖開(kāi)。 掃雷游戲功能描述 按功能將游戲區(qū)域劃分為兩個(gè)區(qū)域:雷區(qū)和提示區(qū)。 本文主要工作 本文收集相關(guān)文獻(xiàn)資料,多次認(rèn)真玩了 windows 掃雷游戲,全面了解了游戲的規(guī)則,操作方法等。具體要求如下: ( 1) 掃雷游戲分為初級(jí)、中級(jí)和高級(jí)三個(gè)級(jí)別。Minesweeper game。 Software,2020 Elsevier [19] Doug Twilleager,Jeff Kesselman,Athomas Goldberger,Daniel Petersen,Juan Carlos,Soto,Chris Technologies for games.[J].Computers in Entertainment(CIE),2020,(2), ACM [20] Walter Cazzola,Edoardo Vacchi.Java:Bringing a richer annotation model to Java.[J]Computer Languages,Systems amp。 主要參考文獻(xiàn)(資料): [1] 耿祥義 .Java 大學(xué)實(shí)用教程 .北京 :清華大學(xué)出版社 ,2020. 碼農(nóng)畢業(yè)設(shè)計(jì)下載網(wǎng): [2] 王鵬 .JavaSwing 圖形界面開(kāi)發(fā)與案例詳解 .北京 :清華大學(xué)出版社 ,2020. [3] 丁振凡 .Java 語(yǔ)言實(shí)驗(yàn)教程 .北京 :北京郵電大學(xué)出版社 ,2020. [4] 鄭莉 .Java語(yǔ)言程序設(shè)計(jì) .北京 :清華大學(xué)出版社 ,2020. [5] 孫全黨 ,王吳迪 ,趙楓朝 .Java 程序設(shè)計(jì)應(yīng)用教程 ,電子工業(yè)出版社 ,2020. [6] 雷之宇 .Java 項(xiàng)目開(kāi)發(fā)實(shí)踐 網(wǎng)絡(luò)篇 ,中國(guó)鐵道出版社 ,2020. [7] 趙玉陽(yáng) .Java 從入門(mén)到精通 ,清華大學(xué)出版社 ,2020. [8] 畢廣吉 .Java 程序設(shè)計(jì)實(shí)例教程 [M]. 北京:冶金工業(yè)出版社, 2020年 . [9] 王保羅 .Java 面向?qū)ο?程序設(shè)計(jì) [M]. 北京:清華大學(xué)出版社, 2020年 . [10] 高林,周海燕 .Jsp網(wǎng)上書(shū)店系統(tǒng)與案例分析 [M]. 北京:人民郵電出版社, 2020年 . [11] 劉騰紅,孫細(xì)明 .信息系統(tǒng)分析與設(shè)計(jì) [M]. 北京:科學(xué)出版社, 2020年 . [12] 林邦杰,徹底研究 :電子工業(yè)出版社, 2020年 . [13] 劉京華 . Java Web 整合開(kāi)發(fā)王者歸來(lái) [M]. 北京:清華大學(xué)出版社, 2020. [14] (美 )阿諾德, Ken Arnold,等 . Java程序設(shè)計(jì)語(yǔ)言 [M]. 北京:人民郵電出版社, 2020 [15] Joshua Bloch. Effective Java[M]. Piscataway, : IEEE Press, 2020 [16] Craig Walls, Ryan BreidenBach. Spring In Action[M]. Manning Publications. 2020. [17] Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA: Prentice Hall, 2020. [18] Holger Eichelberger,Klaus resource monitoring ofJava programs.[J].The Journal of Systems amp。Java 碼農(nóng)畢業(yè)設(shè)計(jì)下載網(wǎng): II Design and Implementation for Mine game based on Java Abstract With the development of the times, the puter has bee an essential household equipment, more and more people use puters for office, entertainment, Inter, and to promote the rapid development of the gaming industry, a great impact on the industry and changed the way people life and entertainment, the game offers a variety of virtual space for consumers, so that consumers can enjoy free fun virtual world and realize that may never be able to own a dream in real life, to meet the consumer psychology and spiritual needs. Minesweeper is a Windows operating system es with a small game, this system is to mimic the minesweeping Windows system based on the Minesweeper game JAVA to achieve. Functions of the program are randomly generated number of mines, play games via the mouse, suggesting that the end of the game when the left mouse button to click on to mine. My job is to first plete game of Minesweeper analysis, the analysis used by the classes and algorithms used, starting from the principle of Minesweeper game play and then further on the game can be programmed to achieve running the game. Key Words: Windows System。本文使用 Java 語(yǔ)言編寫(xiě)一個(gè)與其類似的掃雷游戲。 ( 5)掃雷勝利后,游戲會(huì)彈框并顯示“恭喜你,你贏了” ( 6)如果在掃雷過(guò)程中一不小心碰到了雷,游戲會(huì)自動(dòng)將剩余地雷全部找出并顯示,并且彈框顯示“你輸了”,而且會(huì)提示退出或者重玩。本系統(tǒng)需求分為四個(gè)部分:功能描述、功能需求、界面 需求、模塊劃分。用戶可以根據(jù)這些數(shù)字判斷是否可以打開(kāi)某些方塊,并把認(rèn)為有地雷的方塊用小紅旗來(lái)標(biāo)識(shí)。其中左鍵用于打開(kāi)安全的格子,推進(jìn)游戲進(jìn)度;右鍵用于標(biāo)記地雷,以輔助判斷。 ( 5)統(tǒng)計(jì)功能 當(dāng)玩家完成一次掃雷后,軟件能夠分級(jí)別記錄,統(tǒng)計(jì)最短完成事件、已玩游戲次數(shù)、已勝游戲次數(shù)、獲勝率、最多連勝次數(shù)、最多連敗次數(shù)等信息,玩家可以打開(kāi)來(lái)進(jìn)行查看,以及可以跟其他玩家進(jìn)行比較,可以用來(lái)進(jìn)行對(duì)戰(zhàn)。 圖 22 掃雷游戲基本功能 Figure 22 Minesweeper basic functions 本章小結(jié) 本章通過(guò)多次玩掃雷游戲,熟練掌握游戲規(guī)則,認(rèn)識(shí)掃雷游戲,在此基礎(chǔ)上綜合分析掃雷游戲的功能,根據(jù)游戲功能,確定游戲的功能需求和界面需求,然后總結(jié)歸納了游戲的功能模塊。雷區(qū)為玩家的游戲區(qū)域。 2 負(fù)責(zé)對(duì)掃雷難度進(jìn)行設(shè)定,可以設(shè)置初級(jí)、中級(jí)和高級(jí)三個(gè)難度,也可以對(duì)難度進(jìn)行自定義設(shè)置,直接設(shè)置方格和雷的數(shù)量。 Java 提供了實(shí)現(xiàn)隨機(jī)算法的類 Math,通過(guò) Math 類的 random()方法這可以很方便的實(shí)現(xiàn)隨機(jī)布雷的功能。另一方面, Java 技術(shù)也不斷更新。 本論文編寫(xiě)程序時(shí)使用的就是 Eclipse。 圖 41 掃雷游戲主界面 Figure 41 Minesweeper main game interface ( 2)雷區(qū)的設(shè)計(jì) Brick類是繼承了 JPanel實(shí)現(xiàn)了 MouseListener接口, BrickWork類 繼承于 Brick,該類的 M*N 二維對(duì)象代表雷區(qū)的方格,并且可以設(shè)置方格的背景顏色和方格中的雷數(shù)。 p 為方格提供容器。 shijian 負(fù)責(zé)顯示游戲 開(kāi)始的時(shí)間。 TimeNumPanel()方法負(fù)責(zé)實(shí)時(shí)計(jì)算游戲時(shí)間和剩余雷數(shù)。 RandomMethod(int x1,int y1)方法負(fù)責(zé)實(shí)現(xiàn)隨機(jī)布雷,并將是雷的 BrickWork加入 list 中。 main(String[] args)方法是程序的入口方法。 PareDlg 參數(shù)接收 SaolaiMain 主窗口對(duì)象的輸入。 zhongji()方法對(duì)中級(jí)掃雷情況進(jìn)行統(tǒng)計(jì) 。 setListIndex1()方法設(shè)置統(tǒng)計(jì)級(jí)別為中級(jí)。 BrickWork 類 BrickWork 類是 Brick 類的子類 ,主要負(fù)責(zé)在界面上顯示方格和方格上的標(biāo)記及其翻開(kāi)后的數(shù)字、雷、炸開(kāi)的雷等,還可以對(duì)自己所在位置的行列號(hào)進(jìn)行設(shè)置、存儲(chǔ)和碼農(nóng)畢業(yè)設(shè)計(jì)下載網(wǎng): 19 查詢等功能。