掃雷畢業(yè)設計---基于java掃雷游戲的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于Java掃雷游戲的設計與實現(xiàn) </p><p>  院 系:計算機與電子系</p><p>  專 業(yè) 班:計算機應用技術0902班</p><p><b>  姓 名: </b></p><p><b>  學 號: </b></p>&l

2、t;p><b>  指導教師: </b></p><p>  2012 年 6月 </p><p>  基于Java掃雷游戲的設計與實現(xiàn)</p><p>  Design and Implementation of Java Minesweeper Game</p><p><b>  摘 要</b

3、></p><p>  Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和Java平臺的總稱。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應用程序就可運行。Java是一種簡單的,面向對象的,分布式的,解釋型的,健壯安全的,結構中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。Java 技術具有卓越的通用性

4、、高效性、平臺移植性和安全性,廣泛應用于個人PC、數(shù)據中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網,同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網的產業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。</p><p>  近年來Java作為一種新的語言,以其簡單性,平臺無關性和可移植性等優(yōu)點,得到了廣泛的應用,特別是Java與萬維網的完美結合,使其成為網絡編程和嵌入式編程領域的首選編程語言。JBui

5、lder是Bonrla公司用于快速開發(fā)Java應用的一款優(yōu)秀的集成開發(fā)環(huán)境,它以其友好的的開發(fā)界面,強大的組件支持等優(yōu)點,得到了廣大程序員的接受與認可。</p><p>  本論文研究的是以Eclipse為開發(fā)環(huán)境,設計并開發(fā)一款掃雷游戲,其功能類似于Windows操作系統(tǒng)自帶的掃雷游戲。論文首先介紹了制作游戲的整體思路及整個游戲設計的流程規(guī)劃,然后介紹了雷區(qū)的布置及地雷隨機產生的實現(xiàn)方法;重點介紹了在游戲過程中

6、各事件的處理。</p><p>  關鍵詞:Java 掃雷 Eclipse </p><p><b>  Abstract</b></p><p>  Java is a cross-platform application software can write object-oriented programming language,

7、the general term of the Java programming language by Sun Microsystems, Inc. in May 1995 and the Java platform. Hardware or operating system platform to install a Java platform, Java applications can run. Java is a simple

8、, object-oriented, distributed, interpreted, robust security, the structure-neutral, portable, high-performance, multithreaded dynamic language. Has excellent versatility, efficiency, pl</p><p>  Java in rec

9、ent years as a new language, with its advantages of simplicity, platform independence and portability, get a wide range of applications, especially Java and the World Wide Web perfect binding, making it the network progr

10、amming and embedded programming the preferred programming language. JBuilder is an excellent integrated development environment Borlan company for rapid development of Java applications, and its friendly development inte

11、rface, powerful component supports, etc., has bee</p><p>  This thesis is based on the Eclipse development environment, design and develop a mine-sweeping game, its function is similar to minesweeper game th

12、at comes with Windows operating system. The paper first introduces the idea of making the game as a whole and the entire game design process planning, and randomly generated minefield layout and mine; focuses on the hand

13、ling of events in the course of the game.</p><p>  Key words: Java Minesweeping Eclipse</p><p><b>  目 錄</b></p><p><b>  摘要Ⅰ</b></p><p>  Abs

14、tractⅡ</p><p><b>  緒論1</b></p><p><b>  1 開發(fā)環(huán)境2</b></p><p>  1.1 開發(fā)工具2</p><p>  1.2 應用環(huán)境2</p><p>  1.3 編寫意義2</p>&l

15、t;p>  1.4 任務設計內容3</p><p>  2 可行性分析和需求分析4</p><p>  2.1 可行性分析4</p><p>  2.2 需求分析5</p><p><b>  3 概要設計6</b></p><p><b>  4 詳細設計

16、8</b></p><p>  4.1 MineGame類8</p><p>  4.2 MineArea類9</p><p>  4.3 Block類11</p><p>  4.4 BlockView類12</p><p>  4.5 LayMines類12</p>&

17、lt;p>  4.6 Record類13</p><p>  4.7 showRecord類14</p><p>  5 系統(tǒng)測試16</p><p><b>  結論20</b></p><p><b>  致謝21</b></p><p><b

18、>  參考文獻22</b></p><p><b>  緒 論</b></p><p>  掃雷一詞有多個意思。掃雷游戲是微軟于1992年附帶在其操作系統(tǒng)中的小游戲,它通過點擊格子并以出現(xiàn)的數(shù)字來判斷附近地雷的數(shù)量,將全部地雷做上標記即可勝利;軍事上的掃雷(mine clearing)是指搜索和清除地雷、陸軍水雷及其他爆炸物的行動;掃雷又被引作網絡

19、用語。</p><p>  掃雷最原始的版本可以追溯到1973年一款名為“方塊”的游戲,不久之后,“方塊”被改寫成了游戲“Rlogic”,在“Rlogic”里,玩家的任務是作為美國海軍陸戰(zhàn)隊隊員,為指揮中心探出一條沒有地雷的安全路線,如果路全被地雷堵死就算輸。兩年后,湯姆·安德森在“Rlogic”的基礎上又編寫出了游戲“地雷”,由此奠定了現(xiàn)代掃雷游戲的雛形。 </p><p> 

20、 1981年,微軟公司的羅伯特·杜爾和卡特·約翰遜兩位工程師在Windows 3.1系統(tǒng)上加載了該游戲,掃雷游戲才正式在全世界推廣開來。 這款游戲的玩法是在一個9*9(初級),16*16(中級),16*30(高級),或自定義大小的方塊矩陣中隨機布置一定量的地雷(初級為10個,中級為40個,高級為99個)。由玩家逐個翻開方塊,以找出所有地雷為最終游戲目標。如果玩家翻開的方塊有地雷,則游戲結束。 </p>

21、<p>  掃雷游戲的目標是盡快找到雷區(qū)中的所有不是地雷的方塊,而不許踩到地雷。游戲區(qū)包括雷區(qū)、地雷計數(shù)器和計時器,在“游戲”菜單上,單擊“開局”,計時器就會啟動,此時請單擊游戲區(qū)中的任何方塊,點開的數(shù)字是幾,則說明該數(shù)字旁邊的8個位置中有幾個雷,如果挖開的是地雷,則會輸?shù)粲螒?,用右鍵標記您認為可能有地雷的方塊。</p><p><b>  1 開發(fā)環(huán)境</b></p>

22、;<p><b>  1.1 開發(fā)工具</b></p><p>  Sun Microsystems公司在推出Java語言的同時,推出了一套開發(fā)工具JDK。Sun提供的基于字符模式的Java開發(fā)工具包JDK: Java開發(fā)工具(JDK)是許多Java專家最初使用的開發(fā)環(huán)境。Java是平臺無關的語言是指用Java寫的應用程序不用修改就可在不同的軟硬件平臺上運行。   Java

23、源程序編寫借助于記事本,Editpuls,UltraEdit等三方編輯工具編寫。   所有的Java文件編輯、編譯、調試、解釋運行都是通過使用字符命令來執(zhí)行操作。JDK由一個標準類庫和一組建立,測試及建立文檔的Java實用程序組成。其核心JavaAPI是一些預定義的類庫,開發(fā)人員需要用這些類來訪問Java語言的功能。JDK 是整個Java的核心,包括了Java運行環(huán)境(Java RuntimeEnvirnment),一堆Java工具和

24、Java基礎的類庫(rt.jar)。不論什么Java應用服務器實質都是內置了某個版本的JDK。因此掌握JDK是學好Java的第一步。   JDK里面是Java類庫和Java的語言規(guī)范,它提供的是無論你用何種開發(fā)軟件寫Java程序都必須用到的類庫和J</p><p><b>  1.2 應用環(huán)境</b></p><p>  (1) 操作系統(tǒng):Windows XP及

25、以上版本</p><p>  (2) 應用軟件:JDK2.0 Eclipse6.0</p><p><b>  1.3 編寫意義</b></p><p>  隨著計算機得普及,人們越來越多得接觸到計算機,人們得生活工作中無處不有計算機得身影,人們面對長時間的難免會有倦怠的情緒,而人們大多得緩解情緒得網絡活動其實并不能起到放松心情得作用,現(xiàn)

26、代人得生活節(jié)奏越來越快,有沒有一種快速緩解疲倦得游戲呢?我們提出設計一款益智得小游戲,這種游戲不會花太多時間,同時把玩家得思維帶動起來,達到一舉多得得效果。</p><p>  隨著現(xiàn)在生活節(jié)奏的加快,人們在工作之余需要一個輕松娛樂的放松環(huán)境。因此我們小組編寫此軟件的目的,一方面作為初學者來了解掃雷的開發(fā),另一方面開發(fā)此軟件使用戶能在娛樂休閑的同時拓展思維能力。同時進一步拓展研究,做到將掃雷層次升級,能夠在多人連

27、機的情況下,一起分工來進行對戰(zhàn) 。如 一方放雷,另一方排雷。</p><p>  1.4 任務設計內容</p><p>  本次設計只是完成了掃雷游戲的基本功能,在細節(jié)方面仍有待以后完善。</p><p>  Windows 2000/XP系統(tǒng)提供的掃雷游戲是一個很有趣的游戲。本章的課程設計使用Java語言編寫一個與其類似的掃雷游戲。具體要求如下:</p&g

28、t;<p>  (1) 掃雷游戲分為初級、中級和高級三個級別,掃雷英雄榜存儲每個級別的最好成績,即挖出全部的地雷且用時最少者。單擊游戲菜單可以選擇“初級”、“中級”和“高級”或“查看英雄版”。</p><p>  (2) 選擇級別后將出現(xiàn)相應級別的掃雷區(qū)域,這是用戶使用鼠標左鍵單擊雷區(qū)中任何一個方塊便啟動計時器。</p><p>  (3) 用戶要揭開某個方塊,可單擊它

29、。若所揭方塊下有淚,用戶便輸了這一局,若所揭方塊下五雷,則顯示一個數(shù)字,該數(shù)字代表方塊的周圍的8個方塊中共有多少顆雷。</p><p>  (4) 如果用戶認為某個方塊下埋著雷,單擊右鍵可以在方塊上標識一個用戶認為是雷的圖標,即給出一個掃雷標記。用戶每標記出一個掃雷標記(無論用戶的標記是否正確),程序將顯示的剩余雷數(shù)減少一個。</p><p>  (5) 掃雷勝利后(用時最少者),程序

30、彈出保存成績的對話框。</p><p>  2 可行性分析和需求分析</p><p>  2.1 可行性分析</p><p>  適用于各種群體,學生、老師、白領,簡單卻有效地舒緩壓力,消磨閑暇時光,一局所需的時間很短,低級的只需十多秒,此軟件是以娛樂為主的休閑游戲,開發(fā)基于安卓手機操作系統(tǒng)。具有操作方便、便于保存等優(yōu)點</p><p>

31、  投資可行性:主要根據市場調查及預測的結果,以及有關的產業(yè)政策等因素,論證項目投資建設的必要性。</p><p>  (1) 財務可行性:主要從項目及投資者的角度,設計合理財務方案,從企業(yè)理財?shù)慕嵌冗M行資本預算,評價項目的財務盈利能力,進行投資決策。</p><p>  (2) 組織可行性:制定合理的項目實施進度計劃、設計合理的組織機構、選擇經驗豐富的管理人員、建立良好的協(xié)作關系、制

32、定合適的培訓計劃等,保證項目順利執(zhí)行。</p><p>  (3) 經濟可行性:主要從資源配置的角度衡量項目的價值,評價項目在實現(xiàn)區(qū)域經濟發(fā)展目標、有效配置經濟資源、增加供應、創(chuàng)造就業(yè)、改善環(huán)境、提高人民生活等方面的效益。</p><p>  (4) 法律可行性:在開發(fā)一個軟件之前一定要確定它是否觸犯某項法律或與國家的相關規(guī)定是否抵觸。掃雷游戲系統(tǒng)并不與任何法律或國家相關規(guī)定相抵觸,所

33、以在法律可行性上是通過的,在進行設計時沒有違法任何法律法規(guī),也不對任何企業(yè)的系統(tǒng)進行侵權等。系統(tǒng)的研制和開發(fā)都選用正版軟件,將不會侵犯他人、集體和國家的利益,不會違反相關的國家政策和法律。 </p><p>  (5) 技術可行性評價:在限制條件下,功能目標基本能夠實現(xiàn)和達到,利用現(xiàn)有技術,功能目標基本能夠達到,開發(fā)人員足夠 能夠滿足條件要求,在規(guī)定時間內能夠完成該項目開發(fā)。</p><p

34、><b>  2.2 需求分析</b></p><p>  隨著社會的不斷進步,人們所承受的壓力不斷上升,在游戲層出不窮的時刻,掃雷游戲仍受到不少人的青睞,其本身的性質,決定了人們對它的喜愛程度,不需要特殊的技巧,不需要不斷地升級,不需要太多的時間進行初步的熟悉,簡簡單單卻樂趣無窮。</p><p>  2.2.1 理解需求</p><p&g

35、t;  掃雷游戲系統(tǒng)的建立,需要進行用戶需求調查與分析,以確定系統(tǒng)目標,提高解決問題的詳細方案,這是系統(tǒng)建設的重要環(huán)節(jié)。</p><p>  (1) 系統(tǒng)可以根據需求來設計功能模塊,如“開局”、“初級”、“中級”、“高級”“自定義”、“掃雷英雄榜”和“退出”等。</p><p>  (2) 系統(tǒng)運行在Eclipse平臺下,系統(tǒng)應該有一個較好的圖形用戶界面。</p><

36、;p>  2.2.2 功能需求</p><p>  需求分析的任務是通過詳細調查現(xiàn)實世界要處理的對象,充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確各種需求,然后在此基礎上確定新系統(tǒng)的功能。</p><p>  根據用戶的需求,確定本圖書管理系統(tǒng)應具有以下功能:</p><p>  (1) 用戶可以自定義級別并且可以任意輸入雷數(shù);</p>

37、<p>  (2) 具有計時功能,即顯示用戶完成移動盤子所花費的時間;</p><p>  (3) 自動保存掃雷英雄榜;</p><p>  (4) 用戶可以設計“初級”、“中級”、“高級”三個級別。</p><p><b>  3 概要設計</b></p><p>  在設計掃雷游戲時,需要編寫7個

38、Java源程序:MineGame.java、MineArea.java、Block.java、BlockView.java、LayMines.java、Record.java和ShowRecord.java。</p><p>  掃雷游戲除了需要編寫上述7個Java源文件所給出的類外,還需要Java系統(tǒng)提供的一些重要的類,如File、JButton和JLabel等類。掃雷游戲所用到的一些重要的類以及之間的組合關系

39、如圖3-1所示。</p><p>  圖3-1 類之間的組和關系</p><p>  (1) MineGame.java(主類)</p><p>  MineGame類負責創(chuàng)建掃雷游戲機主窗口,該文件含有main方法,掃雷游戲從該類開始執(zhí)行。MineGame類主要有三種類型的成員:File、MineArea和ShowRecord對象。</p><

40、;p>  (2) MineArea.java</p><p>  MineArea類創(chuàng)建的對象是MineArea類最重要的成員之一,代表“掃雷區(qū)域”。該類的成員變量中有5個重要類型的對象:Block、BlockView、LayMines和Record。</p><p>  (3) Block.java</p><p>  Block類是雷區(qū)中“方塊”的類封

41、裝,含有關于“方塊”的屬性以及操作,即負責為雷區(qū)創(chuàng)建代表“方塊”的Block對象。</p><p>  (4) BlockView.java</p><p>  BlockView是JPanel容器的子類,BlockView創(chuàng)建的對象負責為Block對象提供視圖,以便用戶通過該視圖與Block對象交互。BlockView對象使用一個標簽和按鈕為Block對象提供視圖,標簽和按鈕按著卡片布

42、局(CardLayout)層疊在一起,默認狀態(tài)下按鈕遮擋住標簽。當用戶單擊按鈕后,如果Block對象是雷,BlockView對象中的標簽顯示的是雷的圖標;如果Block對象不是是雷,標簽顯示的是當前Block對象周圍雷的總數(shù)。</p><p>  (5) LayMines.java</p><p>  LayMines類對象不需要視圖,在游戲中不需要看見該對象。LayMines對象使用隨

43、機算法指定MineArea對象中的哪些Block對象是雷,哪些Block對象不是雷。</p><p>  (6) Record.java</p><p>  Record類是JDialog對話框的子類,當用戶掃雷成功時,Record對象負責保存用戶的成績到文件。</p><p>  (7) ShowRecord.java</p><p>

44、  ShowRecord類是JDialog對話框的子類,當用戶查看掃雷的最好成功時,ShowRecord對象負責讀取文件數(shù)據的界面。</p><p><b>  4 詳細設計</b></p><p>  掃雷系統(tǒng)流程圖如圖4-1所示。</p><p><b>  圖4-1 流程圖</b></p><

45、p>  4.1 MineGame類</p><p>  MineGame類是javax.swing包中JFrame的一個子類,并實現(xiàn)了ActionListener接口,標明該類的主要成員變量和方法的UML圖如圖4-2所示。</p><p>  圖4-2 MineGame類的UML圖</p><p>  以下是UML圖中有關數(shù)據和方法的詳細說明。</p

46、><p><b>  (1) 成員變量</b></p><p> ?、?bar 和fileMenu提供菜單操作,單擊游戲菜單中的選項為“初級”、“中級”和“高級”或“掃雷英雄榜”。</p><p>  ②mineArea是掃雷區(qū)域,提供有關掃雷的主要功能。</p><p> ?、邸坝⑿郯瘛必撠煷娣湃齻€級別的掃雷最好的成績。

47、</p><p> ?、躶howHeroRecord負責顯示英雄榜中的數(shù)據。</p><p><b>  (2) 方法</b></p><p> ?、費ineGame( )是構造方法,負責完成窗口的初始化。</p><p>  ②actionPerformed(ActionEvent)方法是MineGame類實現(xiàn)的Ac

48、tionListener接口中的方法,該方法負責執(zhí)行菜單發(fā)出的有關命令。用戶選擇菜單中項可觸發(fā)ActionListener事件,導致actionPerformed(ActionEvent)方法執(zhí)行相應的操作,例如將創(chuàng)建的雷區(qū)設置為初級、中級或高級等。</p><p>  ③main(String[])方法是程序運行的入口方法。</p><p>  4.2 MineArea類</p&

49、gt;<p>  MineArea類是javax.swing包中JPanel容器的子類,實現(xiàn)了ActionListener和MouseListener接口,所創(chuàng)建的對象:mineArea是MineArea類中最重要的成員之一,作為一個容器添加到窗口的中心。標明MineArea類的主要成員變量、方法以及和MineGame類之間組合關系的UML圖如圖4-3所示。</p><p>  圖4-3 Mine

50、Area類的UML圖</p><p>  以下是UML圖中有關數(shù)據和方法的詳細說明。</p><p><b>  (1) 成員變量</b></p><p> ?、賐lock是Block類型的數(shù)組,用來確定雷區(qū)有多少需進行掃雷的方塊。</p><p> ?、赽lockView是BlockView類型的數(shù)組,負責為block

51、數(shù)組中的Block對象提供視圖。</p><p> ?、踠ay是LayMines類型的對象,負責設置block數(shù)組中的哪些方塊是雷或不是雷。</p><p> ?、躵ecord負責提供保存成績的界面,是一個對話框,默認不可見。用戶只有掃雷成功后(用時最少者),才可以看見該對話框。</p><p>  ⑤reStart是一個按鈕對象,用戶單擊它重新開始游戲。</

52、p><p>  ⑥time是計時器對象,負責計算用戶的用時。</p><p><b>  (2) 方法</b></p><p> ?、賗nitMineArea(int,int,int,int)方法可根據參數(shù)提供的數(shù)據設置雷區(qū)的寬度、高度、雷的數(shù)量以及雷區(qū)的級別。</p><p> ?、赼ctionPerformed(Acti

53、onEvent)是MineArea類實現(xiàn)的ActionListener接口中的方法。當用戶單擊blockView中的某個方塊時,actionPerformed(ActionEvent)方法負責執(zhí)行有關算法,例如,當用鼠標左鍵單擊方塊上的按鈕后,若方塊下有雷,actionPerformed(ActionEvent)方法將使用戶輸?shù)舯揪郑粼摲綁K下無雷,actionPerformed(ActionEvent)方法將顯示BlockView對象

54、中的標簽,該標簽上是一個數(shù)字,該數(shù)字代表當前方塊的周圍的8個方塊中共有多少顆雷。</p><p> ?、跾how( )方法是一個遞歸方法。actionPerformed(ActionEvent)方法執(zhí)行時將調用方法進行掃雷。</p><p> ?、躮ousePressed(MouseEvent)方法是MineArea類實現(xiàn)的MouseListener接口中的方法,當用戶按下鼠標右鍵時,ac

55、tionPerformed(ActionEvent)方法負責讓方塊上線是一個探雷標記。</p><p> ?、輎nquireWin( )方法用來判斷用戶是否掃雷成功,如果成功該方法負責讓record對話框可見。所謂掃雷成功是指不僅找到全部的雷而且用時最少。</p><p>  4.3 Block類</p><p>  Block類創(chuàng)建的對象是數(shù)組block的單元中

56、的對象。Block型數(shù)組block是MineArea類的重要成員之一。標明Block類的主要成員變量和方法以及和MineArea類之間組合關系的UML圖如圖4-4所示。</p><p>  圖4-4 Block類的UML圖</p><p>  以下是UML圖中有關數(shù)據和方法的詳細說明。</p><p><b>  (1) 成員變量</b>&

57、lt;/p><p>  ①name是方塊上的名字。</p><p>  ②aroundMineNumber是方塊周圍雷的數(shù)目。</p><p>  ③mineIcon是方塊上雷的圖標。</p><p> ?、躨sMine用來表示方塊是否是雷。</p><p> ?、輎sMark用來表示方塊是否被標記。</p>

58、<p> ?、辤sOpen用來表示方塊是否被挖開。</p><p><b>  (2) 方法</b></p><p> ?、賡etAroundMineNumber(int)方法用來設置aroundMineNumber的值。</p><p> ?、趃etAroundMineNumber()方法用來獲取aroundMineNumber

59、的值。</p><p>  4.4 BlockView類</p><p>  BlockView類是javax.swing包中JPanel類的子類,創(chuàng)建的對象是數(shù)組blockView的單元中的對象。blockView是BlockView類的最重要的成員之一。標明BlockView類的主要成員變量和方法以及和MineArea類之間組合關系的UML圖如圖4-5所示。</p>&

60、lt;p>  圖4-5 BlockView類的UML圖</p><p>  以下是UML圖中有關數(shù)據和方法的詳細說明。</p><p><b>  (1) 成員變量</b></p><p>  ①blockNameOrIcon用來顯示Block對象的name、number和mineIcon屬性。</p><p>

61、; ?、赽lockCover用來遮擋card卡片式布局。</p><p><b>  (2) 方法</b></p><p> ?、賕iveView(Block block)方法給參數(shù)指定的Block對象提供視圖,如果Block對象的isMine屬性為true,即方塊是雷,那么blockNameOrIcon標簽上設置的文本就是Block對象的name屬性的值,同時bl

62、ockNameOrIcon標簽上設置的圖標就是Block對象的mineIcon制定的圖標。如果Block對象的isMine屬性為false,blockNameOrIcon標簽上設置的文本是Block對象的aroundMineNumber屬性的值,即周圍雷的數(shù)目。</p><p> ?、趕eeBlockNameOrIcon( )方法讓用戶看見視圖中的標簽,無法看見按鈕。</p><p>  

63、③seeBlockCover( )方法讓用戶看見視圖中的按鈕,無法看見標簽。</p><p>  4.5 LayMines類</p><p>  LayMines類創(chuàng)建的對象lay是MineArea中最重要的成員。標明該類的主要成員變量和方法以及和MineArea類之間組合關系的UML圖如圖4-6所示。</p><p>  圖4-6 LayMines類的UML圖

64、</p><p>  以下是UML圖中有關數(shù)據和方法的詳細說明。</p><p><b>  (1) 成員變量</b></p><p>  mineIcon用來存放一個格式gif的圖像。</p><p><b>  (2) 方法</b></p><p>  layMine

65、sForBlock(Block[][],int)方法對參數(shù)指定的Block數(shù)組進行設置,其中int參數(shù)制定雷的數(shù)目。當指定Block數(shù)組中某個單元中的方塊是雷時,就將該方塊上的圖標設置為mineIcon。當指定Block數(shù)組中某個單元中的方塊不是雷時,就將該方塊上的名字設置為周圍的雷的數(shù)目。</p><p>  4.6 Record類</p><p>  Record是javax.swi

66、ng包中JDialog對話框的子類,并實現(xiàn)了ActionListener接口。Record創(chuàng)建的對象:record是MineArea類的成員之一,當用戶掃雷成功時,該對象提供了保存成績到文件的界面。標明Record類的主要成員變量、方法以及和MineArea類之間組合關系的UML圖如圖4-7所示。</p><p>  圖4-7 Record類的UML圖</p><p>  以下是UML圖中

67、有關數(shù)據和方法的詳細說明。</p><p><b>  (1) 成員變量</b></p><p> ?、賢extName提供用戶掃雷優(yōu)勝者輸出姓名。</p><p> ?、谟脩魡螕簟按_定”按鈕,可以保存成績。</p><p><b>  (2) 方法</b></p><p&g

68、t; ?、賏ctionPerformed(ActionEvent)方法是Record類實現(xiàn)的ActionListener接口中的方法,當用戶單擊“確定”按鈕后,該方法被執(zhí)行,所執(zhí)行的操作就是獲取用戶輸入的名字和用時,然后調用writeRecord(String,String)方法將信息寫入到“英雄榜”中。</p><p> ?、趙riteRecord(String,String)負責將有關信息,例如掃雷的用時、掃

69、雷的級別以及掃雷優(yōu)勝者的姓名等信息寫入到“英雄榜”文件。</p><p>  4.7 ShowRecord類</p><p>  ShowRecord是javax.swing包中JDialog對話框的子類,并實現(xiàn)了ActionListener接口。ShowRecord創(chuàng)建的對象showHeroRecord是MineGame類(主類)的成員之一,當用戶查看“英雄榜”菜單項時,該對畫框可見,

70、提供了查看掃雷的最好成績的界面。標明ShowRecord類的主要成員變量、方法以及和MineGame類之間組合關系的UML圖如圖4-8所示。</p><p>  圖4-8 ShowRecord類的UML圖</p><p>  以下是UML圖中有關數(shù)據和方法的詳細說明。</p><p><b>  (1) 成員變量</b></p>

71、<p> ?、貴ile存放文件的引用。</p><p> ?、谟脩魡螕簟帮@示成績”按鈕,可以查看各個級別掃雷的最好成績。</p><p> ?、塾脩魡螕簟爸匦掠浄帧卑粹o,可以將“英雄榜”中的成績恢復為初始值。</p><p><b>  (2) 方法</b></p><p> ?、賏ctionPerform

72、ed(ActionEvent)方法是ShowRecord類實現(xiàn)的ActionListener接口中的方法,當用戶單擊“顯示成績”按鈕后,該方法被執(zhí)行,所執(zhí)行的操作就是調用readAndShow( )方法。</p><p>  ②readAndShow( )方法負責讀取存放在文件中的各個級別的掃雷最好成績以及掃雷者姓名,并顯示這些先關信息。</p><p><b>  5 系統(tǒng)測試

73、</b></p><p>  (1) 程序運行后,界面上有一個菜單和一個按鈕,分別是“游戲”和“重新開始”;當玩家踩雷時候可以點擊“重新開始”。如圖5-1所示</p><p><b>  圖5-1 主界面</b></p><p>  (2) 當玩家點擊“游戲”菜單時會出現(xiàn)7個子菜單,分別是“開局”、“初級”、“中級”、“高級”“

74、自定義”、“掃雷英雄榜”和“退出”。當玩家開始游戲時可以點擊“開局”進行游戲,玩家還可以通過選擇“初級”、“中級”和“高級”按鈕來選擇游戲級別;玩家還可以通過“自定義”來進行設置“行數(shù)”、“列數(shù)”、“雷數(shù)”和“級別”;游戲結束后玩家還可以通過“掃雷英雄榜”查詢成績;玩家可以通過“退出”退出游戲框。</p><p>  (3) 點擊“游戲”出現(xiàn)的界面如圖5-2所示。</p><p>  圖

75、5-2 游戲界面</p><p>  (4) 點擊“初級”選擇初級游戲時出現(xiàn)界面如圖5-3所示。</p><p>  圖5-3 初級窗口界面</p><p>  (5) 開局后進行游戲時出現(xiàn)界面如圖5-4所示。</p><p>  圖5-4 掃雷進行中的效果</p><p>  (6) 踩雷時候游戲就結束了,踩雷

76、時出現(xiàn)界面如圖5-5所示。</p><p>  圖5-5 掃雷失敗效果</p><p>  (7) 游戲結束后點擊“掃雷英雄榜”顯示成績的界面,效果如圖5-6所示。</p><p>  圖5-6 成績界面</p><p><b>  結 論</b></p><p>  Java是一個完全面向對

77、象的語言,Java的命名規(guī)則是很容易讓人接受的。而且容易被編程人員記住。經過實踐訓練,對Java的綜合應用能力有了較大的提高,另外對Java的特點有了更深層次的認識。</p><p>  通過這次的畢業(yè)論文,我對Java這門語言有了更深刻的理解。其中包括類、對象、接口、繼承、方法以及Java語言中的常用包等的使用方法,特別是圖形用戶界面里各種組件的創(chuàng)建,事件處理等相關知識。還學會了很多在這個學期《Java課程設計

78、基礎》課上沒有學會和沒有學懂的東西,使我對Java語言是一種非常難懂的語言的思想有了極大的改觀。</p><p>  這次的畢業(yè)論文是用Java語言及相關知識設計一個掃雷游戲系統(tǒng),能實現(xiàn)選擇游戲級別,記錄游戲時間和保存游戲成績等功能。雖然整個設計的時間才短短兩個月,我還是對JDK等Java語言開發(fā)工具有了深層次的認知,并熟練掌握了它們的使用方法。而且這次的畢業(yè)設計,也使我的編程能力有了明顯的提高。</p&g

79、t;<p>  通過這次畢業(yè)設計,我才明白學習是一個長期積累的過程,在以后的工作、生活中都應該不斷的學習,努力提高自己知識和綜合素質。此外,我認為這次畢業(yè)設計最大的收獲就是:知識必須通過應用才能實現(xiàn)其價值!有些東西以為學會了,但真正到用的時候才發(fā)現(xiàn)是兩回事,所以我認為只有到真正會用的時候才是真的學會了。</p><p>  這次畢業(yè)設計還讓我懂得了寫程序不能閉門造車,要努力拓寬知識面,開闊視野,拓展

80、思維。它還讓我學會了在網上查閱那些無限的資料。通過對此課題的開發(fā),使我對用Eclipse開發(fā)平臺有了一個比較清楚的認識,體會到理論和實踐的重要性。由于自己的分析設計和程序經驗不足,該系統(tǒng)設計和實現(xiàn)過程中,還有許多沒有完善的地方,還請老師見諒。</p><p><b>  致 謝</b></p><p>  通過這兩個月來的忙碌和學習,本次畢業(yè)論文設計已接近尾聲,作為一

81、個大專生的畢業(yè)設計,由于經驗的匱乏,難免有許多考慮不周全的地方,在這里衷心感謝指導老師的督促指導,以及一起學習的同學們的支持,讓我按時完成了這次畢業(yè)設計。</p><p>  在本次畢業(yè)掃雷游戲設計過程中,首先得感謝的是指導老師xx老師,他給予了我悉心指導和大力支持,對于我順利完成這次畢業(yè)設計起到了關鍵性的作用。同時感謝我院、系領導對我們的教導和關注;感謝大學三年傳授我們專業(yè)知識的所有老師,謝謝你們嘔心瀝血的教導

82、。還有謝謝我周圍的同窗朋友,如果沒有他們的幫助,此次畢業(yè)論文的完成將變得困難。最后,感謝生我養(yǎng)我的父母。謝謝他們給了我無私的愛,為我求學所付出的巨大犧牲和努力。</p><p><b>  參考文獻</b></p><p>  [1] 朱福喜,尹為民,余振坤.Java語言與面向對象程序設計.武漢:武漢大學出版社,2008.</p><p> 

83、 [2] 陳國君,陳磊.Java 2從入門到精通.北京:清華大學出版社,2008.</p><p>  [3] 王梅,Java并發(fā)編程—設計原則與模式.北京:中國電力出版社,2009.</p><p>  [4] 尹偉民,Java程序設計之網絡編程.北京:清華大學出版社,2008.</p><p>  [5] 印昊.Java與面向對象程序設計.北京:高等教育

84、出版社,2008.</p><p>  [6] 耿祥義.Java課程設計.北京:清華大學出版社,2009.</p><p>  [7] 趙生慧.Java面向對象程序設計.北京:高等教育出版社,2009.</p><p>  [8] 甘仞初.信息系統(tǒng)開發(fā).北京:北京經濟科學出版社,2008.</p><p>  [9] 李宣東,李存珠.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論