java程序設計課程-文檔格式_第1頁
java程序設計課程-文檔格式_第2頁
java程序設計課程-文檔格式_第3頁
java程序設計課程-文檔格式_第4頁
java程序設計課程-文檔格式_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、天津商業大學寶德學院Java程序設計課程報告20132014學年第二學期題目掃雷游戲的設計與開發學號學生姓名張明 李曉 王麗紅所在專業計算機科學與技術所在班級1101目 錄上下空行,為黑體 四號1 引言11.1 設計目的11.2 設計說明12 總體設計22.1 功能模塊設計22.2 流程圖設計43 詳細設計63.1 掃雷棋盤的布局設計63.2 雷區的設計73.3 音效的設計93.4 排行榜設計104 測試與運行114.1 程序測試114.2 程序運行125 總結13參考文獻141序號為Times New Roman 四號 加粗,與后面標題空2個英文空格 引言標題為黑體 四號 加粗本次開發的是一

2、個掃雷游戲,這是一個綜合性的題目,可以對Java語言中的各項功能有更好的理解和使用,通過具體的程序來加深對Java語言的掌握,提高自己的編程水平,為以后的工作打下一定的基礎。內容段落為1.5倍行距 宋體 小四11序號為Times New Roman 小四, 中間的點為宋體,小四 1.1與后面標題的內容之間空2個英文空格,標題為黑體 小四 設計目的掃雷游戲是Windows附件中的一個很有趣的游戲。本文使用Java語言編寫一個與其類似的掃雷游戲。具體功能如下:(1)序號前空2個字符,英文括號,括號與數字均為Times New Roman 小四,序號與后面文字之間空1個英文空格 掃雷游戲分為初級、中

3、級和高級三個級別,掃雷英雄榜存儲每個級別的最好成績,即挖出全部的地雷且用時最少者。單擊游戲菜單可以選擇“初級”、“中級”和“高級”或“查看英雄版”。(2) 選擇級別后將出現相應級別的掃雷區域,這是用戶使用鼠標左鍵單擊雷區中任何一個方塊便啟動計時器。(3) 用戶要揭開某個方塊,可單擊它。若所揭方塊下有淚,用戶便輸了這一局,若所揭方塊下五雷,則顯示一個數字,該數字代表方塊的周圍的8個方塊中共有多少顆雷。(4) 如果用戶認為某個方塊下埋著雷,單擊右鍵可以在方塊上標識一個用戶認為是雷的圖標,即給出一個掃雷標記。用戶每標記出一個掃雷標記(無論用戶的標記是否正確),程序將顯示的剩余雷數減少一個。(5) 掃

4、雷勝利后(用時最少者),程序彈出保存成績的對話框。(6) 用戶可以選擇標記疑問的方塊,用可以勾選游戲菜單下的標記即可,此時雙擊右鍵并可出現“?”標記。另有顏色選項,當用戶勾選此項時,游戲將以最低圖像像素來顯示。(7) 如果用戶需要即使提示聲,并可選中聲音選項,此時將聽到計時的卡塔聲。當用戶點中雷時,將有爆炸聲產生,勝利時,將有凱旋的旋律播放,此時程序中的頭像出現歡悅表情。12 設計說明本程序采用Java程序設計語言,在Eclipse平臺下編輯、編譯與調試。具體程序由3人組成的小組開發而成。小組成員的具體分工如表1所示:表1文字為宋體 五號 加粗,數字為Times New Roman 五號 加粗

5、,各成員分工表成員名稱完成的主要工作程序設計課程報告張明 李曉王麗紅負責整個程序前期的需求分析和整體功能的架構程序中棋盤的布局設計程序后期的測試與運行負責程序中雷區的設計與編碼負責程序中音效的設計與編碼負責排行榜的設計與編碼報告的第1章、第2章和第4章報告的第3章目錄、總結和參考文獻的整理報告后期的格式設置(表格內行距均為單倍行距)2 總體設計21 功能模塊設計本程序需實現的主要功能有:(1) 用戶可以自定義級別并且可以任意輸入雷數;(2) 具有計時功能,即顯示用戶完成移動盤子所花費的時間;(3) 用戶可以選擇是否有音效;(4) 自動保存掃雷英雄榜。程序的總體功能如圖1所示:截圖居中顯示,圖名

6、在圖下方圖1文字為宋體 五號 加粗,數字為Times New Roman 五號 加粗,與后面標題空1個英文空格,居中顯示 總體功能圖標題為宋體 五號 加粗 (圖表文字行距均為單倍行距)2. 2 流程圖設計程序總體流程如圖2所示:圖2 總體流程圖3 詳細設計31 掃雷棋盤的布局設計系統的整體布局為:CardLayout布局, 采用了菜單、按鈕、面板等組件,菜單主要包括開始、選擇級別、標記、掃雷英雄榜、退出、按鈕的功能是重新開始新的游戲。32 雷區的設計MineArea類是javax.swing包中Jpanel容器的子類,實現了ActionListener和MouseListener接口,所創建的

7、對象:mineArea是MineGame類中最重要的成員之一,作為一個容器添加到MineGame窗口的中心。標明MineArea類的主要成員變量、方法以及和MineGame類之間組合關系的UML圖如圖3所示:圖3 MineArea類的UML圖以下是UML圖中有關數據和方法的詳細說明:(1)成員變量 block是Block類型的數組,用來確定雷區有多少需進行掃雷的方塊; blockView是BlockView類型的數組,負責為block數組中的Block對象提供視圖; lay是LayMines類型的對象,負責設置block數組中的哪些方塊是雷或不是雷; record負責提供保存成績的界面,是一個

8、對話框,默認不可見。用戶只有掃雷成功后(用時最少),才可以看見對話框; reStart是一個按鈕對象,用戶單擊它重新開始游戲; time是計時器對象,負責計算用戶的用時。(2)方法 initMineArea(int,int,int,int)方法可根據參數提供的數據設置雷區的寬度、高度、雷的數目以及雷區的級別; actionPerformed(ActionEvent)是MineArea類實現的ActionListener接口中的方法。當用戶單擊blockView中的某個方塊時,actionPerformed(ActionEvent)方法負責執行有關算法,例如,當用鼠標左鍵單擊方塊上的按鈕后,若該

9、方塊下有雷,actionPerformed(ActionEvent)方法將使用戶輸掉本局,若該方塊下無雷,actionPerformed(ActionEvent)方法將顯示blockView對象中的標簽,該標簽上是一個數字,該數字代表當前方塊的周圍的8個方塊中共有多少顆雷; show()方法是一個遞歸方法。actionPerformed(ActionEvent)方法執行時將調用show方法進行掃雷; mousePressed(MouseEvent)方法是MineArea類實現的MouseListener接口中的方法,當用戶按下鼠標有件事mousePressed(MouseEvent)方法負責讓

10、方塊上顯示一個探雷標記; inquireWin()方法用來判斷用戶是否掃雷成功,如果成功該方法負責讓record對話框可見。所謂掃雷成功是指不僅找到了全部的累而且用時最少。雷區設計流程圖如圖3-5所示:圖4 雷區設計流程圖33 音效的設計music類是java.awt包中Frame的子類,通過構造音效聲音方法,在MainFrame主類中,通過ActionListener來監視是否已開始游戲,來決定播放計時聲,之后又通過ActionListener來監視是否踩到雷和是否完成來決定,播放相應的音樂。下面標明music類的主要成員變量、方法以及和MineFrame類之間組合關系的UML圖如圖3-6所

11、示,音效設計流程圖如圖3-7所示:圖5 music類的UML圖圖6 音效設計流程圖34 排行榜設計LogDialog是javax.swing包中Jdialog對話框的子類,并實現了ActiongListener接口。LogDialog創建的對象dialog是MainFrame類(主類)的成員之一,當用戶選擇查看“英雄榜”菜單項時,該對話框可見,提供了查看掃雷的最好成績的界面。標明LogDialog類的主要成員變量、方法以及和MainFrame類之間組合關系的UML圖如圖3-8所示,排行榜設計流程圖如圖3-9所示:圖7 LogDialog類的UML圖圖8 排行榜設計流程圖4 測試與運行41 程序

12、測試在程序代碼基本完成后,經過不斷的調試與修改,最后測試本次所設計的掃雷游戲能夠正常運行,在基本功能與畫面上與Windows自帶的掃雷游戲沒有太大差別,沒有出現明顯的錯誤和漏洞,但是在一些細節方面仍然需要完善,比如在游戲中可以加入一些不同語音的提示,在游戲完成和失敗的時候可以彈出一些小的Flash動畫,還有就是可以擴展一下掃雷英雄榜的功能等。總的來說本次設計在功能上已經基本達到要求,其他細節方面有待以后完善。42 程序運行程序運行主界面如圖9所示:圖9 程序主界面程序主菜單如圖10所示:圖10 程序主菜單掃雷英雄榜如圖11所示:圖11 掃雷英雄榜關于掃雷,如圖12所示:圖12 關于掃雷初級模式

13、和中級模式如圖13所示:圖13 初級模式和中級模式5總結這個掃雷游戲是完全模擬微軟系統自帶的掃雷游戲,所以難度是比較大了,必然在編程過程中也遇到很多問題,有些問題比較簡單但就不知道錯在哪里,有些大問題之道在哪就是不知道怎么辦才好,后來經過自己的不斷調試,這個掃雷游戲終于大功告成。經過編寫這個掃雷游戲,我認識到應該注意細節問題,雖然是很小的問題,但可以提高自己編程的能力,而且還可以培養自己編程的嚴謹性,同時還可以為以后的編程積累經驗。編寫完這個掃雷游戲,我發現自己有很多的不足,我想如果讓我來單獨來編寫這個游戲,我感覺很吃力,因為這個游戲涉及到好多算法。感觸最深的就是我們真的要扎扎實實的打基礎!并且我感覺到只要我們自己肯下功夫學習,我們也可以做出很好的東西,不需要每次都抄襲別人的,只有自己的才是最珍貴的!通過該課程設計,全面系統的理解了程序構造的一般原理和基本實現方法。把死板的課本知識變得生動有趣,激發了學習的積極性。把學過的計算機編譯原理的知識強化,能夠把課堂上學的知識通過自己設計的程序表示出來,加深了對理論知識的理解。現在通過自己動手做實驗,從實踐上認識了操作系統是如何處理命令的,課程設計中程序比較復雜,在調試時應該仔細。 參考文獻1 耿祥義Java大學實用教程M北京:清華大學出版社,20092 耿祥義Java課程設計M北京:清華大學出版社,20083 王鵬

溫馨提示

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

評論

0/150

提交評論