![java課設(shè)走迷宮(含代碼)(20210316060144)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/11/a41a061a-8065-4e92-ba89-9a2da4db472e/a41a061a-8065-4e92-ba89-9a2da4db472e1.gif)
![java課設(shè)走迷宮(含代碼)(20210316060144)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/11/a41a061a-8065-4e92-ba89-9a2da4db472e/a41a061a-8065-4e92-ba89-9a2da4db472e2.gif)
![java課設(shè)走迷宮(含代碼)(20210316060144)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/11/a41a061a-8065-4e92-ba89-9a2da4db472e/a41a061a-8065-4e92-ba89-9a2da4db472e3.gif)
![java課設(shè)走迷宮(含代碼)(20210316060144)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/11/a41a061a-8065-4e92-ba89-9a2da4db472e/a41a061a-8065-4e92-ba89-9a2da4db472e4.gif)
![java課設(shè)走迷宮(含代碼)(20210316060144)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/11/a41a061a-8065-4e92-ba89-9a2da4db472e/a41a061a-8065-4e92-ba89-9a2da4db472e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1. 設(shè)計目的課程設(shè)計的目的2. 總體設(shè)計設(shè)計思路設(shè)計方法3. 關(guān)鍵技術(shù)4. 程序流程5. 主要源代碼6. 運行結(jié)果及結(jié)論7. 參考文獻1 設(shè)計目的課程設(shè)計的目的隨著科技進步,時代發(fā)展,計算機走進了大家的生活。計算機程序強大的功能為使用者提供服 務,編程語言也變得越來越流行。Java語言是當今流行的網(wǎng)絡(luò)編程語言,它具有面向?qū)ο?、跨平臺、 分布應用等特點。面向?qū)ο蟮拈_發(fā)方法是當今世界最流行的開發(fā)方法,它不僅具有更貼近自然的語 義,而且有利于軟件的維護和繼承。為了進一步鞏固課堂上所學到的知識,深刻把握Java語言的重要概念及其面向?qū)ο蟮奶匦裕?熟練應用面向?qū)ο蟮乃枷牒驮O(shè)計方法解決實際問題的能力,也
2、是為了増加同學們娛樂游戲選擇而開 發(fā)了一個適合學生的,能提升思考力的迷宮冒險游戲,這既鍛煉了動手能力,還能進行消遣娛樂, 可謂一舉兩得。2. 總體設(shè)計設(shè)計思路根據(jù)對游戲系統(tǒng)進行的需求分析,本系統(tǒng)將分為6個模塊:分別是迷宮主界面模塊、記時設(shè)計 模塊、迷宮設(shè)計模塊、道路和障礙設(shè)計模塊、動漫冒險者設(shè)計模塊、出入口設(shè)計模塊。實現(xiàn)的功能 有:(1) 迷宮的選擇玩家可以根據(jù)自身需求來進行選擇簡單迷宮、中等迷宮、難度迷宮三類中選擇一類迷宮進行游 戲。(2) 選擇道路和障礙的圖像玩家可以根據(jù)個人喜好對迷宮中的道路和障礙的圖片進行選擇,但是圖片的格式有規(guī)定,必須 是“jpg”或“gif”格式的。(3) 游戲記時
3、當玩家控制迷宮中的動漫人物進行游戲時,計時器就開始進行記時,直到動漫人物到達出口時, 記時結(jié)束,并在屏幕上顯示游戲用時。(4) 開始游戲玩家將鼠標移動至迷宮中的動漫冒險者,即可看到單擊我然后按鍵盤方向鍵”,單擊后,游 戲開始。玩家即可通過鍵盤上的方向鍵進行游戲。(5) 游戲結(jié)束玩家控制動漫冒險者移動至迷宮地圖的出口處時,游戲的計時器停止計時,并彈出信息框恭 喜您通關(guān)了”,游戲結(jié)束。(6) 冒險腳步聲玩家單擊動漫冒險者后,便可以用鍵盤方向鍵進行控制。動漫冒險者每移動一步便會發(fā)出一聲 “嘟”的響聲。(7) 重新開始玩家可以根據(jù)個人對自己通關(guān)時間長短的滿意程度選擇再次挑戰(zhàn),單擊重新開始”即可。(8)
4、 計時界面位置利用邊界式布局管理器BorderLayout將計時界面置于上方。(9) 再次挑戰(zhàn)界面位置利用邊界式布局管理器BorderLayout將再次挑戰(zhàn)界面置于下方。圖J迷宮冒險系統(tǒng)6大模塊圖設(shè)計方法(1) 迷宮冒險系統(tǒng)主界面模塊迷宮冒險系統(tǒng)主界面模塊包括和兩個文件。MazeWindow是迷宮冒險系統(tǒng)的主運行類,其中有運 行整個程序的main方法,該文件生成了 Maze類的一個實例,從而生成了迷宮冒險系統(tǒng)的界面。 MazeWindow類繼承自JFrame類,以ActionListener為接口實現(xiàn)了事件偵聽的接口,它有一個不帶 參數(shù)的構(gòu)造方法MazeWindow (),用來生成MazeWi
5、ndow的實例o MazeWindow類將所有的功能集中到 菜單欄中,并通過調(diào)用其他模塊來實現(xiàn)迷宮冒險系統(tǒng)的各個功能。(2) 記時設(shè)計模塊記時設(shè)計模塊主要由共1個文件組成。Handl eMove類繼承自JPanel類,以ActionListener為 接口實現(xiàn)事件的偵聽的接口。該模塊利用了一個2維數(shù)組來進行實現(xiàn),并對計時顯示的字體、背景 色、顯示位置進行設(shè)計。該模塊定義了一個無參返回值的變量SpendTime,利用SpendTime這個變量來對記時的開始觸發(fā)源和記時的結(jié)束觸發(fā)源。圖計時流程圖(3) 迷宮設(shè)計模塊迷宮設(shè)計模塊主要由2個2維數(shù)組組成,它們組成了主界面中“選擇迷宮”菜單的內(nèi)容,其中
6、包括簡單迷宮、中等迷宮、難度迷宮三大類。該模塊的類繼承自幾ayeredPane類,主要通過2個2 維數(shù)組來實現(xiàn)。并且對迷宮中的道路和障礙的插入圖片格式進行了要求。該模塊使用try和catch 來捕獲和處理異常。當迷宮地圖不可用時則彈岀對話框無效的迷宮文件”。(4) 道路和障礙設(shè)計模塊系統(tǒng)道路和障礙設(shè)計模塊主要由這個文件組成,這個文件組成了主界面中的迷宮地圖中的道路和障 礙的內(nèi)容。(5) 動漫冒險者設(shè)計模塊動漫冒險者設(shè)計模塊主要是對迷宮地圖中處于入口處的動漫冒險玩家進行設(shè)計。該模塊利用語 句使鼠標箭頭移動到動漫冒險者上時顯示文字“單擊我,然后按鍵盤方向鍵”,并為冒險者的圖片格 式、長度、寬帶、初
7、始位置等等進行進一步的設(shè)計,讓動漫冒險者更加生動。(6) 出入口設(shè)計模塊出入口設(shè)計模塊主要是定義了出口與入口以及當動漫冒險者處于這兩個位置時的狀態(tài)和事件 的鏈接。3. 關(guān)鍵技術(shù)在設(shè)計走迷宮小游戲時,編寫了 6個JAVA源文件:4. 程序流程圖迷宮游戲流程圖5. 主要源代碼import . *;import . *;import . *;import class MazeWindow extends JFrame implements ActionListenerMaze maze;JMenuBar bar;JMenu menuChoice,menulmage;JMenuItem wal1 Im
8、age,roadimage,defaultImage;File mazeFile,walllmageFile,roadlmageFile;JButton renew;MazeWindow()wal HmageFi le二new File(n n):roadlmageFile=new File(HM):bar=new JMenuBarO;menuChoice-new JMenu(選擇迷宮);File dir=new F訂e(. w):File fi le = (new FilenameFilterO pub1ic boolean accept(File dir,String name)(retu
9、rn (maze););for(int i=0;i ;i+) JMe nil Item i tem=new JMenu Item(filei getNameO):(this);(item);mazeFile=new File(file0 getNameO);init();menulinage=new JMenu(n選擇墻和路的圖像(JPG,GIF) *);walllmage=new JMenuItemC1*墻的圖像”);roadlmage=new JMenuItem(n路的圖像”);defaultImage=new JMenu11em(墻和路的默認圖像);(wallImage):(roadim
10、age);(defaultimage);(me rm Choice);(menuImage);setJMenuBargr);(this);(this);(this);renew=new JButton(w重新開始J;(this);add(maze,;add(renew,;setVisible(true);setBounds(60,60,510,480);val idateO ;setDefaultCloseOperation;public void init() if(maze!二null) remove(maze);remove ();maze=new MazeO :(walllmageFi
11、le);(roadlmageFile);(mazeFile);add(maze,;add(),;val idateO ;public void acti on Performed (/XctionEvent e) if ()=roadImage) JFi1eChooser chooser=new JFi1eChooser():FileNameExtensionFiIter fiIter = new FileNameExtensionFilter(JPG & GIF Images11, jpg, gif);(filter);int state=(null):F訂e file=();if(file
12、!=null&state=roadImageFile=file;(roadlmageFile);else if()=-wallImage) JFileChooser chooser=new JFi1 eChooser():F ileNameExtens ionF iIter filter = new FileNameExtensionFiIter(JPG & GIF Images, jpg, gif):(filter);int state=(nul1);File file=();if(file!=null&state=wallImageFile=file;(walllmageFile);els
13、e if()=defaultImage)wal 11mageFile=new FileD;road I mageF i le=new Ml e(H);(walllmageFile);(roadlmageFile);else if()=renew)init ();elseJMenuItem item=(JMenuItem)(): mazeFile=new FileO):init ();)public static void main(String args)new MazeWindow():6. 運行結(jié)果及結(jié)論在開發(fā)環(huán)境為JCreator的電腦上編寫山陽程序,利用jam程序?qū)崿F(xiàn)迷宮冒險的運作。程
14、序包含六個java源文件。其中MazeWindow為程序的主類,貫穿始終,通過調(diào)用其他模塊功能來實現(xiàn)整個迷宮冒險小游戲的全部功能,是游戲安全運行。程序進過檢查修改無誤后運行得到如下運 行結(jié)果。運行結(jié)果示意圖7.參考文獻1董小園.Java面向?qū)ο蟪绦蛟O(shè)計清華大學出版社,2011年6月第1版2】劉升華.Java從入門到實踐M.北京:清華大學出版社20093陳國君.Java2設(shè)計基礎(chǔ)M.北京:清華大學出版社20094朱喜福.Java程序設(shè)計M.北京:人民郵電出版社20055饒一梅.Java語言程序設(shè)計M.北京:人民郵電出版社2009成績評定表學生姓名班級學號專業(yè)課程設(shè)計題目評語組長簽字:成績?nèi)掌?014年 月日課程設(shè)計任務書學院信息學院專業(yè)學生姓名班級學號課程設(shè)計題目基于Java的走迷宮游戲軟件設(shè)計實踐教學要求與任務:采用java技術(shù)設(shè)計走迷宮游戲軟件,游戲的結(jié)果是讓走迷宮者從迷宮的入口處走 到迷宮的出口處。設(shè)計要求如下:(1)程序根據(jù)文本文件生成迷宮,這些文本文件稱作迷宮文件。迷宮文件的擴展名 為.maze,其中的文本內(nèi)容有著特殊的組織結(jié)構(gòu):任意兩行文本所含有的自符個 數(shù)必須相同,而且字符只可以是“*”、“#、“0”或“1”。迷宮文件中的和分別代表迷宮的入口和出口,“0”和“1”分別代表迷宮中的“路”和“墻”。 az
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六年級語文橋聽評課記錄
- 北師大版數(shù)學八年級上冊4《平行線的性質(zhì)》聽評課記錄1
- 人教版數(shù)學七年級上冊《模式3:整式的加減》聽評課記錄
- 北師大版道德與法治八年級上冊第1課第3站《關(guān)愛他人生命》聽課評課記錄
- 八年級上冊歷史人教版同步聽課評課記錄第18課《從九一八事變到西安事變》
- 小學二年級上冊數(shù)學口算競賽題
- 北師大版歷史九年級上冊第11課《英國資產(chǎn)階級革命》聽課評課記錄1
- (新人教版)八年級歷史上冊期末復習-第七八單元解放戰(zhàn)爭近代經(jīng)濟社會生活與教育文化事業(yè)的發(fā)展-復習聽課評課記錄
- 人民版道德與法治九年級上冊2.2《扛起你的責任》聽課評課記錄
- 水泥攪拌樁施工分包合同范本
- 浙江省杭州市2024年中考語文試卷(含答案)
- 世說新語原文及翻譯-副本
- 電力通信光纜檢修標準化作業(yè)指導書
- 種植二期手種植義齒II期手術(shù)護理配合流程
- 安全隱患舉報獎勵制度
- 2024-2025學年深圳市南山區(qū)六年級數(shù)學第一學期期末學業(yè)水平測試試題含解析
- 工貿(mào)行業(yè)企業(yè)安全生產(chǎn)標準化建設(shè)實施指南
- T-CACM 1560.6-2023 中醫(yī)養(yǎng)生保健服務(非醫(yī)療)技術(shù)操作規(guī)范穴位貼敷
- 2024年全國統(tǒng)一考試高考新課標Ⅱ卷數(shù)學試題(真題+答案)
- 人教版小學數(shù)學一年級下冊第1-4單元教材分析
- JTS-215-2018碼頭結(jié)構(gòu)施工規(guī)范
評論
0/150
提交評論