版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《算法設(shè)計與分析》課程設(shè)計</p><p><b> 2012年12月</b></p><p> 掃雷游戲設(shè)計</p><p><b> 摘 要</b></p><p> 掃雷游戲是Windows操作系統(tǒng)自帶的一個小游戲,過去的幾年里Windows操作系統(tǒng)歷經(jīng)數(shù)次換代,變
2、得越來越龐大、復雜,但這個可愛的小游戲在任何版本的Windows操作系統(tǒng)里去地依然保持著原貌。但幾乎每個電腦使用者都接觸過它,并且深愛著這款小游戲。</p><p> 游戲上手極其簡單,但是要熟練地掌握其中的操作及找出雷的技巧,難度卻不低。作為家喻戶曉老少皆宜的大眾游戲,其普及程度可以說是史上任何一款游戲都無法相比的。</p><p> 游戲的操作方面主要以鼠標為主,當鼠標指針對準未翻
3、開的方塊按下左鍵時即表示翻開方塊,當鼠標指針對準未翻開的方塊按下右鍵時即表示標示或疑示地雷,反復按下右鍵則方塊會以未標示→標示→疑似三者關(guān)系不斷循環(huán)。游戲者可以通過地雷區(qū)內(nèi)的數(shù)字提示了解以數(shù)字為中心的其周邊八個方格內(nèi)所含的地雷數(shù),假若翻開的方塊顯示數(shù)字“3”,則表示以其為中心的周邊方塊內(nèi)藏有3個地雷。當按下的方塊不是地雷,且周邊八個方塊也都沒有地雷時,方塊會以被翻開方塊的八個方向?qū)⒖瞻追綁K翻開。。</p><p>
4、; 掃雷游戲是比較經(jīng)典的一款小游戲,實現(xiàn)它的方法很多,可以用很多不同算法和語言實現(xiàn),如 C,C++,VB,Jave,C#等。本論文研究的是以java為開發(fā)環(huán)境,設(shè)計并開發(fā)一款掃雷游戲,其功能類似于Windows操作系統(tǒng)自帶的掃雷游戲。論文首先介紹了制作游戲的整體思路及整個游戲設(shè)計的流程規(guī)劃,然后介紹了雷區(qū)的布置及地雷隨機產(chǎn)生的實現(xiàn)方法;重點介紹了在游戲過程中各事件的處理,其中又以鼠標事件和清除未靠近地雷區(qū)方塊這兩方面最為重要,鼠標事件
5、是利用鼠標所發(fā)出的信息了解使用者的意圖,進而做出相對應的動作。</p><p> 關(guān)鍵詞:java;掃雷;課程設(shè)計;</p><p><b> 目 錄</b></p><p><b> 第一章 引言2</b></p><p> 1.1 課題背景及意義2</p><p
6、> 1.2開發(fā)的目的以及意義2</p><p> 1.3關(guān)于本課題3</p><p> 第二章 游戲的總體分析4</p><p> 2.1 游戲功能簡介4</p><p> 2.2 掃雷游戲的基本要求5</p><p> 2.3 功能需求分析5</p><p>
7、第三章 游戲的具體分析6</p><p> 3.1 總體功能圖6</p><p> 3.2 主要功能設(shè)計流程7</p><p> 3.2.1 總體流程圖7</p><p> 圖3-2-1 總體流程圖7</p><p> 3.2.2 雷區(qū)設(shè)計流程圖8</p><p> 3.
8、2.3 排行榜設(shè)計流程圖9</p><p> 3.3各個類的詳細介紹與關(guān)鍵代碼9</p><p> 3.3.1 類之間關(guān)系圖9</p><p> 3.3.2 MainFrame類10</p><p> 3.3.3 LEDNumber類12</p><p> 3.3.4 MineGrid類13
9、</p><p> 3.3.5 AboutDialog類13</p><p> 3.3.6 CustomDialog類14</p><p> 3.3.7 ImageFactory類15</p><p> 3.3.8 UserDialog類15</p><p> 3.3.9 LevelInfo
10、類15</p><p> 3.3.10 LogDialog類17</p><p> 第四章 游戲的實現(xiàn)19</p><p> 4.1游戲的初級界面19</p><p> 4.2游戲的中級界面20</p><p> 4.3游戲的高級界面21</p><p> 4.3 游戲
11、的打包發(fā)布過程22</p><p> 第五章 結(jié) 論24</p><p><b> 參考文獻25</b></p><p><b> 第一章 引言</b></p><p> 1.1 課題背景及意義</p><p> 掃雷最原始的版本可以追溯到1973年一款名為“
12、方塊”的游戲。不久之后,“方塊”被改寫成了游戲“Rlogic”。在“Rlogic”里,玩家的任務(wù)是作為美國海軍陸戰(zhàn)隊隊員,為指揮中心探出一條沒有地雷的安全路線,如果路全被地雷堵死就算輸。兩年后,湯姆·安德森在“Rlogic”的基礎(chǔ)上又編寫出了游戲“地雷”,由此奠定了現(xiàn)代掃雷游戲的雛形。1981年, 微軟公司的羅伯特·杜爾和卡特·約翰遜兩位工程師在Windows 3.1系統(tǒng)上加載了該游戲,掃雷游戲才正式在全世
13、界推廣開來。</p><p> 在計算機逐步滲入社會生活各個層面的今天,計算機已經(jīng)成為了人們?nèi)粘I钪械囊徊糠?,越來越多的人使用計算機辦公、娛樂等等。在這其中,系統(tǒng)自帶的小游戲也占據(jù)了相當重要的地位,與那些網(wǎng)絡(luò)游戲和3D游戲相比,它有編寫簡單容易上手等特點,非常適合人們在完成工作的時候適當?shù)膴蕵芬?。這些小游戲大都是以益智和娛樂為目的,不僅給緊張工作的人們以放松,還可以讓人們的大腦得到開發(fā)。這些小游戲包括掃雷,
14、彈球,紙牌等等。而本課題就是掃雷游戲的設(shè)計。</p><p> 1.2開發(fā)的目的以及意義</p><p> 大學以來各門專業(yè)課程的學習,讓我綜合知識全面提升了很多。為了提高自己的動手能力,將知識靈活的運用,此次我設(shè)計了一個掃雷程序。希望將書本上所學的理論知識與實際相結(jié)合,通過本次的程序設(shè)計使自己在程序的開發(fā)和設(shè)計上有新的認識并能有所提高。也對于我們以后工作能力的培養(yǎng)具有重要意義。<
15、;/p><p><b> 1.3關(guān)于本課題</b></p><p> 至少需實現(xiàn)的主要功能(也可以加上一些擴展功能):</p><p> 用戶可以自定義級別并且可以任意輸入雷數(shù);</p><p><b> 具有計時功能;</b></p><p><b> 可以
16、查看英雄榜。</b></p><p><b> 可以不實現(xiàn)的功能:</b></p><p><b> 可以不做問號;</b></p><p> 可以不做鼠標左右兩鍵同時操作;</p><p><b> 可以不做鼠標移動。</b></p><
17、;p> 第二章 游戲的總體分析</p><p> 2.1 游戲功能簡介 </p><p> 掃雷游戲的基本功能:</p><p> 點擊鼠標左鍵于雷區(qū),如果雷區(qū)有雷,顯示所有的地雷后游戲結(jié)束。若無雷,則顯示周圍雷數(shù)。如果周圍沒雷的話,則查看周圍八個區(qū)域是否有雷直到有雷為止并顯示,這其實是一個遞歸過程。點擊鼠標右鍵于雷區(qū),則將其置為有雷而不管是否真
18、的有雷。用戶可選擇初、中、高三級也可自定義雷數(shù)和區(qū)域大小。雷區(qū)左上角顯示總雷數(shù)減去被標明有雷區(qū)域的數(shù)目。雷區(qū)右上角顯示掃雷的時間。 將雷全部掃清或失敗后顯示成功或失敗的對話框。</p><p> 下面是該游戲的幾大功能:</p><p> 開局:首先選擇游戲等級,然后生成不同等級的雷區(qū)界面。游戲等級分為三級:各等級方塊數(shù)為——初級、中級、高級;雷區(qū)每個方塊下面或埋藏有1個地雷,或者沒有
19、地雷;</p><p> 挖雷:將光標移到某個方塊,可挖開它;若所揭方塊下有雷,則踩雷,此時所有含地雷的塊都標記(該局游戲失敗);如果方塊上出現(xiàn)數(shù)字,它代表在它周圍的8個方塊中共有多少顆地雷;</p><p> 標記地雷:在光標所在的某個方塊上右擊,則標記此塊下埋著地雷(有可能也是誤標)。每標記一個地雷,地雷數(shù)減少1; </p><p> 2.2 掃雷游戲的基
20、本要求</p><p> Windows 2000/XP系統(tǒng)提供的掃雷游戲是一個很有趣的游戲。本章的課程設(shè)計使用Java語言編寫一個與其類似的掃雷游戲。具體要求如下:</p><p> (1) 掃雷游戲分為初級、中級和高級三個級別。單擊游戲菜單可以選擇“初級”、“中級”和“高級”。</p><p> (2) 選擇級別后將出現(xiàn)相應級別的掃雷區(qū)域,這時用戶使用鼠標
21、左鍵單擊‘“開始”便啟動計時器。</p><p> (3) 用戶要揭開某個方塊,可左鍵單擊它。若所揭方塊下有雷,用戶便輸了這一局,若所揭方塊下無雷,則顯示一個數(shù)字,該數(shù)字代表方塊的周圍的8個方塊中共有多少顆雷。</p><p> (4) 如果用戶認為某個方塊下埋著雷,單擊右鍵可以在方塊上標識一個用戶認為是雷的圖標,即給出一個掃雷標記。用戶每標記出一個掃雷標記(無論用戶的標記是否正確),
22、程序?qū)@示的剩余雷數(shù)減少一個。</p><p> (5)當用戶點中雷時,將有“你輸了”的提示出現(xiàn),勝利時,將有“你贏了”的提示出現(xiàn)。</p><p> 2.3 功能需求分析</p><p> 本程序為java課程設(shè)計。參考Windows自帶的掃雷游戲做了簡化。用java編寫,采用了Swing 界面。實踐了java課程多方面的內(nèi)容。</p><
23、;p> 本程序?qū)崿F(xiàn)了主要游戲的主要方面,單游戲固定為10 x 10 格,難度三級:12, 24, 36。主要實現(xiàn)了如下算法:單擊某行某列后產(chǎn)生不在單擊處引爆的地圖。出現(xiàn)空格后引發(fā)遞歸的清空算法。檢測是否所有地雷都被標記,且沒有多標的勝利檢測算法??刂埔粋€計數(shù)器產(chǎn)生計時效果的計時器算法。等侯用戶單擊返回的線程。以及可區(qū)分用戶鼠標左鍵,右鍵和左右兩鍵單擊的事件處理方法。</p><p> 程序設(shè)計主要考慮了
24、程序的完整性和規(guī)范性。界面符合Windows常規(guī),主要通過菜單和按鈕與用戶交互。所有菜單項都實現(xiàn)了響應功能。且主界面多用圖標示意,較美觀。</p><p> 第三章 游戲的具體分析</p><p><b> 3.1 總體功能圖</b></p><p> 圖3-1 總體功能圖</p><p> 3.2 主要功能設(shè)計
25、流程</p><p> 3.2.1 總體流程圖</p><p> 圖3-2-1 總體流程圖</p><p> 3.2.2 雷區(qū)設(shè)計流程圖</p><p> 圖3-2-2 雷區(qū)設(shè)計流程圖</p><p> 3.2.3 排行榜設(shè)計流程圖</p><p> 圖3-2-3 排行榜設(shè)計流程圖&
26、lt;/p><p> 3.3各個類的詳細介紹與關(guān)鍵代碼</p><p> 3.3.1 類之間關(guān)系圖</p><p> 圖3-3-1 類之間關(guān)系圖</p><p> 3.3.2 MainFrame類</p><p> MainFrame主程序類是整個程序的入口,通過package nicholas.game.mi
27、ne;包將其放在nicholas的game下的mine子文件夾內(nèi),繼承了JFrame并實現(xiàn)了ActionListener、實現(xiàn)了主界面各控件的布局、led燈,時間計數(shù)器,級別,失敗和成功,各種狀態(tài)的初始化。還實現(xiàn)了從mine文件里讀取信息和保存信息并實現(xiàn)鼠標雙擊單擊,雙擊,移動時發(fā)生的事件。其關(guān)鍵性代碼如下:</p><p> private class StatusMouseAdapter extends M
28、ouseAdapter {</p><p> private boolean mouseIn;</p><p> private boolean mouseDown;</p><p> private Icon icon;</p><p> public StatusMouseAdapter() {</p><p&
29、gt;<b> super();</b></p><p><b> }</b></p><p> public void mouseEntered(MouseEvent me) {//組件按下時</p><p> mouseIn = true;</p><p> if(mouseDown)
30、 {</p><p> statusButton.setBorder(BorderFactory.createLoweredBevelBorder());</p><p> icon = statusButton.getIcon();</p><p> statusButton.setIcon(ImageFactory.getInstance().getIma
31、geicon(18));</p><p><b> }</b></p><p><b> }</b></p><p> public void mousePressed(MouseEvent me) {//組件釋放時</p><p> mouseDown = true;</p>
32、<p> statusButton.setBorder(BorderFactory.createLoweredBevelBorder());</p><p> icon = statusButton.getIcon();</p><p> statusButton.setIcon(ImageFactory.getInstance().getImageicon(18));&
33、lt;/p><p><b> }</b></p><p> public void mouseReleased(MouseEvent me) {</p><p> mouseDown = false;</p><p> statusButton.setIcon(icon);</p><p>
34、 statusButton.setBorder(BorderFactory.createRaisedBevelBorder());</p><p> if(mouseIn)restartGame();</p><p><b> }</b></p><p> public void mouseExited(MouseEvent me) {
35、</p><p> mouseIn = false;</p><p> if(mouseDown) {</p><p> statusButton.setIcon(icon);</p><p> statusButton.setBorder(BorderFactory.createRaisedBevelBorder());</p
36、><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> public void mouseEntered(MouseEvent me) {//鼠標按下</p><p> curr
37、ent = (MineGrid)me.getSource();</p><p> if(leftDown&&rightDown) {</p><p> pressAround(current);</p><p> } else if(leftDown) {</p><p> pressGrid(current);<
38、;/p><p><b> }</b></p><p><b> }</b></p><p> public void mouseReleased(MouseEvent me) {//鼠標釋放時</p><p> if(current.isNormal())</p><p>
39、; statusButton.setIcon(ImageFactory.getInstance().getImageicon(17));</p><p> int x = current.getXpos();</p><p> int y = current.getYpos();</p><p> if(leftDown) {//左擊</p>
40、<p> leftDown = false;</p><p> if(firstClick) {</p><p> timeThread = new TimeThread();</p><p> timeThread.start();</p><p> firstClick = false;</p><
41、p><b> //改變</b></p><p> if(mode[x][y]) {</p><p><b> int i,j;</b></p><p><b> do {</b></p><p> i = (int)(Math.random()*xBound);
42、</p><p> j = (int)(Math.random()*yBound);</p><p> } while(mode[i][j]);</p><p> mode[x][y] = false;</p><p> mode[i][j] = true;</p><p><b> }</b
43、></p><p><b> }</b></p><p> if(rightDown) {//右擊 releaseAround(current);</p><p> rightDown = false;</p><p> if(middle) {<
44、/p><p> middle = false;</p><p><b> }</b></p><p> if(current.isClicked()) clickGrid(x,y,2);</p><p><b> } else {</b></p><p> if(cur
45、rent.isNormal()) clickGrid(x,y,1);</p><p><b> }</b></p><p><b> } else {</b></p><p> rightDown = false;</p><p><b> }</b></p>
46、;<p><b> }</b></p><p> public void mouseExited(MouseEvent me) {//鼠標停止時</p><p> current = (MineGrid)me.getSource();</p><p> if(leftDown&&rightDown) {&l
47、t;/p><p> releaseAround(current);</p><p> } else if(leftDown) {</p><p> releaseGrid(current);</p><p><b> }</b></p><p><b> }</b>&l
48、t;/p><p> private void pressGrid(MineGrid g) {//按下方格時</p><p> if(!g.isNormal()) return;</p><p> g.setIcon(ImageFactory.getInstance().getImageicon(0));</p><p><b>
49、 }</b></p><p> private void releaseGrid(MineGrid g) {//釋放方格時</p><p> if(!g.isNormal()) return;</p><p> g.setIcon(ImageFactory.getInstance().getImageicon(9));</p><
50、;p><b> }</b></p><p> 3.3.3 LEDNumber類</p><p> LEDNumber類:把數(shù)字格式化為液晶字體圖像</p><p> private int numberSegment[][] = {</p><p> {0, 1, 2, 3, 4, 5 }, //0&
51、lt;/p><p> {1, 2 }, //1</p><p> {0, 1, 3, 4, 6 }, //2</p><p> {0, 1, 2, 3, 6 }, //3</p><p> {1, 2, 5, 6 }, //4</p><p> {0, 2, 3, 5, 6
52、 }, //5</p><p> {0, 2, 3, 4, 5, 6 }, //6</p><p> {0, 1, 2 }, //7</p><p> {0, 1, 2, 3, 4, 5, 6 }, //8</p><p> {0, 1, 2, 3, 5, 6 } //9</p><p&g
53、t;<b> };</b></p><p> 用二維數(shù)組numberSegment來存儲數(shù)字,實現(xiàn)界面如圖3-3-3所示。</p><p> 圖3-3-3 LED樣式的數(shù)字</p><p> 3.3.4 MineGrid類</p><p> MineGrid類:格子</p><p>
54、 用來設(shè)置網(wǎng)格的狀態(tài)、大小及位置信息。</p><p> 3.3.5 AboutDialog類</p><p> AboutDialog類:幫助文檔,關(guān)于掃雷文檔的說明。 </p><p> AboutDialog類用package nicholas.swing將其放在了nicholas下的swing文件夾下,它繼承了JDialog類,并實現(xiàn)了Acti
55、onListener接口。 jLabel為其創(chuàng)建了文本標簽,jButton創(chuàng)建了按鈕,JTextArea創(chuàng)建了文本區(qū)域。當用戶運行掃雷程序時,點擊如圖3-3-5所示的幫助菜單出現(xiàn)如圖3-3所示的界面。</p><p> 圖3-3-5 關(guān)于掃雷界面圖</p><p> 圖3-3 關(guān)于掃雷界面圖</p><p> 3.3.6 CustomDialog類<
56、/p><p> CustomDialog類:自定義雷區(qū)</p><p> 通過Jlabel文本標簽,接收其高度,寬度,和雷數(shù)。實現(xiàn)界面如下:</p><p><b> 圖 </b></p><p> 3.3.7 ImageFactory類</p><p> ImageFactory類:圖片
57、資源類</p><p> ImageFactory類通過package nicholas.game.mine;將其存放在nicholas下的game下的mine文件夾內(nèi),通過 引入包import javax.swing.ImageIcon;來實現(xiàn)對圖片的各種操作, ImageIcon images[]數(shù)組是用來存放各圖片。供其它類進行調(diào)用。并采用Java里的單例模式 保證其對象的唯一性。</p>
58、<p> 3.3.8 UserDialog類</p><p> UserDialog類:游戲級別的選擇</p><p> UserDialog類用package nicholas.game.mine; 將其放在了nicholas下的game下的mine子文件夾內(nèi),字符串數(shù)組String[] level = {"初級","中級",&q
59、uot;高級"}初始化各級別的大小和雷數(shù),并通過一個Jlabel空間接手玩家的信息,將其寫入文件。</p><p> 3.3.9 LevelInfo類</p><p> LevelInfo類:級別設(shè)定</p><p> public static final LevelInfo DEFAULT_LEVEL[] = {</p><
60、p> new LevelInfo(9, 9, 10),</p><p> new LevelInfo(16, 16, 40),</p><p> new LevelInfo(16, 30, 99)</p><p><b> };</b></p><p> 定義了一個常量數(shù)組初始化各級別的默認大小和雷數(shù),還
61、用了一個把各級別的玩家的信息寫入文件中的類LevelLog:</p><p> class LevelLog implements Serializable {</p><p> private static final String DEFAULT_NAME = "匿名";</p><p> private static final in
62、t DEFAULT_RECORD = 999;</p><p> private int record;</p><p> private String user;</p><p> public LevelLog() {</p><p> setDefault();</p><p><b> }&
63、lt;/b></p><p> public void setDefault() {</p><p> user = DEFAULT_NAME;</p><p> record = DEFAULT_RECORD;</p><p><b> }</b></p><p> public
64、 void setRecord(int r) {</p><p> record = r;</p><p><b> }</b></p><p> public void setUserName(String name) {</p><p> user = name;</p><p>&l
65、t;b> }</b></p><p> public int getRecord() {</p><p> return record;</p><p><b> }</b></p><p> public String getUserName() {</p><p>
66、 return user;</p><p><b> }</b></p><p> public String toString() {</p><p> return record + "\t" + user + "\n";</p><p><b> }<
67、;/b></p><p><b> }</b></p><p> 3.3.10 LogDialog類</p><p> LogDialog類:掃雷英雄榜,其實現(xiàn)代碼如下:</p><p> public class LogDialog extends JDialog implements ActionLi
68、stener {</p><p> private LevelLog levelLog[];</p><p> private JTextArea logArea;</p><p> private JButton resetButton;</p><p> private JButton confirmButton;</p&g
69、t;<p> public LogDialog(JFrame frame, LevelLog log[]) {</p><p> super(frame, "掃雷英雄榜", true);</p><p> getContentPane().setLayout(null);</p><p> levelLog = log;&l
70、t;/p><p> logArea = new JTextArea();</p><p> logArea.setEditable(false);</p><p> logArea.setBackground(UIManager.getColor("CheckBox.background"));</p><p> lo
71、gArea.setBounds(10,10,160,60);</p><p> getContentPane().add(logArea, null);</p><p> resetButton = new JButton("重新計分");</p><p> resetButton.setBounds(10,70,90,25);</p
72、><p> resetButton.addActionListener(this);</p><p> getContentPane().add(resetButton, null);</p><p> setTextArea();</p><p> confirmButton = new JButton("確定");
73、</p><p> confirmButton.setBounds(105,70,60,25);</p><p> confirmButton.addActionListener(this);</p><p> getContentPane().add(confirmButton, null);</p><p> setSize(18
74、0,140);</p><p> setLocationRelativeTo(frame);</p><p> setResizable(false);</p><p><b> show();</b></p><p><b> }</b></p><p> pri
75、vate void setTextArea() {</p><p> logArea.setText("初級:" + levelLog[0].toString()</p><p> + "中級:" + levelLog[1].toString()</p><p> + "高級:" + levelLog
76、[2].toString());</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e) {</p><p> if(e.getSource()==resetButton) {</p><p> for(int i=0;i<
77、;3;i++) {</p><p> levelLog[i].setDefault();</p><p><b> }</b></p><p> setTextArea();</p><p><b> } else {</b></p><p> dispose();
78、</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 第四章 游戲的實現(xiàn)</b></p><p> 4.1游戲的初級界面</p&
79、gt;<p> 圖4-1 初級失敗界面</p><p> 圖4-2 初級成功界面</p><p> 4.2游戲的中級界面</p><p> 圖4-3 中級失敗界面</p><p> 圖4-4 中級成功界面</p><p> 4.3游戲的高級界面</p><p> 圖4
80、-5 高級初始化界面</p><p> 圖4-6 高級失敗界面</p><p> 4.3 游戲的打包發(fā)布過程</p><p> 可以使用jar.exe命令制作JAR文件來發(fā)布編寫的軟件。</p><p> (1)首先用文本編輯器,如Windows下的“記事本”,編寫一個清單文件:</p><p> MANIF
81、EST.MF </p><p> Manifest-Version: 1.0</p><p> Created-By: 1.4.1_01 (Sun Microsystems Inc.)</p><p> Main-Class: nicholas.game.mine.MainFrame </p><p> 將MANIFE
82、ST.MF保存到和應用程序所用的字節(jié)碼文件保存在相同的目錄中。 </p><p> (2)生成JAR文件。</p><p> G:\Java課程設(shè)計\掃雷游戲\掃雷游戲33\jar cfm Game.jar MANIFEST.MF *.class</p><p> 其中,參數(shù)c表示要生成一個新的JAR文件,f表示要生成的JAR文件的名字,</p&
83、gt;<p> m表示清單文件的名字。</p><p> 可以將nicholas.jar復制到任何一個安裝了Java運行環(huán)境(版本號需高于1.5的計算機上)的計算機上,用戶用鼠標雙擊該文件的圖標就可以運行掃雷游戲。</p><p><b> 第五章 結(jié) 論</b></p><p> 此次的掃雷游戲是完全模擬微軟系統(tǒng)自帶的掃
84、雷游戲,在編程過程中也遇到了很多問題。比如英雄榜寫入文件時總亂碼。經(jīng)過編寫這個掃雷游戲,我認識到每個人都應該注意細節(jié)問題,雖然是很小的問題,但可以提高自己編程的能力,而且還可以培養(yǎng)自己編程的嚴謹性,同時還可以為以后的編程積累經(jīng)驗。</p><p><b> 參考文獻</b></p><p> [1] Java寶典 電子工業(yè)出版社 孫瀏毅編著 </p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java的掃雷課程設(shè)計
- java掃雷課程設(shè)計
- java 課程設(shè)計 掃雷
- 基于java的掃雷游戲課程設(shè)計
- java課程設(shè)計-掃雷游戲
- java掃雷游戲課程設(shè)計
- java課程設(shè)計--基于java的掃雷游戲軟件設(shè)計
- java課程設(shè)計--掃雷游戲報告
- java課程設(shè)計報告-掃雷小游戲
- 掃雷課程設(shè)計
- 掃雷課程設(shè)計--掃雷程序設(shè)計
- java_掃雷游戲課程設(shè)計與實現(xiàn)畢業(yè)設(shè)計
- 掃雷畢業(yè)設(shè)計---基于java掃雷游戲的設(shè)計與實現(xiàn)
- java課程設(shè)計---基于java的坦克大戰(zhàn)
- 基于java的掃雷游戲設(shè)計與實現(xiàn)
- java課程設(shè)計----基于java的坦克大戰(zhàn)
- 掃雷畢業(yè)課程設(shè)計報告
- vb掃雷課程設(shè)計報告
- 掃雷游戲課程設(shè)計報告
- 掃雷游戲課程設(shè)計報告
評論
0/150
提交評論