版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、文檔目錄1. 設計目的1.1課程設計的目的2. 總體設計2.1設計思路2.2設計方法3. 關鍵技術4. 程序流程5. 主要源代碼6. 運行結果及結論7. 參考文獻1. 設計目的1.1課程設計的目的隨著科技進步,時代發(fā)展,計算機走進了大家的生活。計算機程序強大的功能為使用者提供服務,編程語言也變得越來越流行。Java語言是當今流行的網絡編程語言,它具有面向對象、跨平臺、分布應用等特點。面向對象的開發(fā)方法是當今世界最流行的開發(fā)方法,它不僅具有更貼近自然的語 義,而且有利于軟件的維護和繼承。為了進一步鞏固課堂上所學到的知識,深刻把握Java語言的重要概念及其面向對象的特性,熟練應用面向對象的思想和設
2、計方法解決實際問題的能力,也是為了增加同學們娛樂游戲選擇而開 發(fā)了一個適合學生的,能提升思考力的迷宮冒險游戲,這既鍛煉了動手能力,還能進行消遣娛樂, 可謂一舉兩得。2. 總體設計2.1設計思路根據對游戲系統(tǒng)進行的需求分析,本系統(tǒng)將分為6個模塊:分別是迷宮主界面模塊、記時設計模塊、迷宮設計模塊、道路和障礙設計模塊、動漫冒險者設計模塊、出入口設計模塊。實現的功能 有:(1) 迷宮的選擇玩家可以根據自身需求來進行選擇簡單迷宮、中等迷宮、難度迷宮三類中選擇一類迷宮進行游戲。(2) 選擇道路和障礙的圖像玩家可以根據個人喜好對迷宮中的道路和障礙的圖片進行選擇,但是圖片的格式有 規(guī)定,必須是“jpg ”或“
3、 gif ”格式的。(3) 游戲記時當玩家控制迷宮中的動漫人物進行游戲時,計時器就開始進行記時,直到動漫人物到達出口時,記時結束,并在屏幕上顯示游戲用時。(4) 開始游戲玩家將鼠標移動至迷宮中的動漫冒險者,即可看到“單擊我然后按鍵盤方向鍵”,單擊后,游戲開始。玩家即可通過鍵盤上的方向鍵進行游戲。(5) 游戲結束玩家控制動漫冒險者移動至迷宮地圖的出口處時,游戲的計時器停止計時,并彈出信息框“恭 喜您通關了”,游戲結束。(6) 冒險腳步聲玩家單擊動漫冒險者后,便可以用鍵盤方向鍵進行控制。動漫冒險者每移動一步便會發(fā)出一聲"嘟”的響聲。(7) 重新開始玩家可以根據個人對自己通關時間長短的滿意
4、程度選擇再次挑戰(zhàn),單擊“重新開始”即可。(8) 計時界面位置利用邊界式布局管理器BorderLayout將計時界面置于上方。(9) 再次挑戰(zhàn)界面位置利用邊界式布局管理器BorderLayout將再次挑戰(zhàn)界面置于下方。圖2.1 J迷宮冒險系統(tǒng)6大模塊圖2.2設計方法(1) 迷宮冒險系統(tǒng)主界面模塊迷宮冒險系統(tǒng)主界面模塊包括MazeWindow.java和Maze.java兩個文件。MazeWindow是迷宮冒險系統(tǒng)的主運行類,其中有運行整個程序的main方法,該文件生成了Maze類的一個實例,從而生成了迷宮冒險系統(tǒng)的界面。MazeWindow類繼承自JFrame類,以ActionListener為
5、接口實現了事件偵聽的接口,它有一個不帶參數的構造方法MazeWindow(),用來生成 MazeWindow的實例。MazeWindow類將所有的功能集中到菜單欄中,并通過調用其他模塊來實現迷宮冒險系統(tǒng)的各個功能。(2) 記時設計模塊記時設計模塊主要由HandleMove.java 共1個文件組成。HandleMove類繼承自JPanel類,以Spe ndTime,利用ActionListener為接口實現事件的偵聽的接口。該模塊利用了一個2維數組來進行實現,并對計時顯示的字體、背景色、顯示位置進行設計。該模塊定義了一個無參返回值的變量Spen dTime這個變量來對記時的開始觸發(fā)源和記時的結
6、束觸發(fā)源。動漫冒險者運動k記時開始動漫冒險者 到達出口»記時結束圖2.2計時流程圖(3) 迷宮設計模塊迷宮設計模塊主要由 2個2維數組組成,它們組成了主界面中“選擇迷宮”菜單的容,其中包括簡單迷宮、中等迷宮、難度迷宮三大類。該模塊的類繼承自JLayeredPane類,主要通過2個2維數組來實現。并且對迷宮中的道路和障礙的插入圖片格式進行了要求。該模塊使用try和catch來捕獲和處理異常。當迷宮地圖不可用時則彈出對話框“無效的迷宮文件”。(4) 道路和障礙設計模塊系統(tǒng)道路和障礙設計模塊主要由MazePoi nt.java 這個文件組成,這個文件組成了主界面中的迷宮地圖中的道路和障礙的
7、容。(5) 動漫冒險者設計模塊動漫冒險者設計模塊主要是對迷宮地圖中處于入口處的動漫冒險玩家進行設計。該模塊利用語句使鼠標箭頭移動到動漫冒險者上時顯示文字“單擊我,然后按鍵盤方向鍵”,并為冒險者的圖片格式、長度、寬帶、初始位置等等進行進一步的設計,讓動漫冒險者更加生動。(6) 出入口設計模塊出入口設計模塊主要是定義了出口與入口以及當動漫冒險者處于這兩個位置時的狀態(tài)和事件的。3. 關鍵技術在設計走迷宮小游戲時,編寫了6個JAVA源文件:MazeWindow.java、MazePoint.java 、WallOrRoad.java 、Maze.java、PersonlnMaze.java 、Hand
8、leMove.java4. 程序流程圖4.1迷宮游戲流程圖5. 主要源代碼import javax.swi ng.*;import java.awt.*;import java.awt.eve nt.*;import java.io.*;import javax.swi ng.filechooser.*;public class MazeWi ndow exte nds JFrame impleme nts Actio nListe nerMaze maze;JMen uBar bar;JMe nu men uChoice,me nul mage;JMe nultem walllmage,ro
9、adlmage,defaultlmage;File mazeFile,walllmageFile,roadlmageFile;JButt on ren ew;MazeWi ndow()walllmageFile=new File("wall.jpg");roadlmageFile=new File("road.jpg");bar= new JMe nuBar();menuChoice=new JMenu(”選擇迷宮");File dir= new File(".");File file=dir.listFiles (new
10、File nameFilter()public boolea n accept(File dir,Stri ng n ame) retur n n ame.e ndsWith("maze"););for(i nt i=0;i< file .len gth;i+) JMe nultem item=new JMe nultem(filei.getName(); item.addActio nListe ner(this);menu Choice.add(item);mazeFile=new File(file0.getName();ini t();men ulmage=n
11、ew JMen u(”選擇墻和路的圖像(JPG,GIF)");walllmage=new JMe nultem(”墻的圖像");roadlmage=new JMe nultem(”路的圖像");defaultlmage=new JMe nultem(”墻和路的默認圖像");men ulmage.add(walllmage);menul mage.add(roadlmage);menul mage.add(defaultlmage);bar.add(me nuChoice);bar.add(me nul mage);setJMe nuBar(bar);wa
12、llImage.addActio nListe ner(this);roadImage.addAct ion Liste ner(this);defaultImage.addAct ion Liste ner(this);renew=new JButton(”重新開始”);ren ew.addActio nListe ner(this);add(maze,BorderLayout.CENTER);add(re new,BorderLayout.SOUTH);setVisible(true);setBou nds(60,60,510,480);validate();setDefaultClose
13、Operatio n(JFrame.EXIT_ON_CLOSE);public void in it()if(maze!=nu ll)remove(maze);remove(maze.getHa ndleMove();maze=new Maze();maze.setWalllmage(walllmageFile);maze.setRoadlmage(roadlmageFile);maze.setMazeFile(mazeFile);add(maze,BorderLayout.CENTER);add(maze.getHa ndleMove(),BorderLayout.NORTH);valida
14、te(); public void acti on Performed(Act ion Eve nt e) if(e.getSource()=roadlmage)JFileChooser chooser =new JFileChooser();FileNameExte nsionF ilter filter = new FileNameExte nsionF ilter("JPG & GIF Images", "jpg", "gif");chooser.setFileFilter(filter);int state=choos
15、er.showOpe nDialog( null);File file=chooser.getSelectedFile();if(file!=null&&state=JFileChooser.APPROVE_OPTION) roadImageFile=file;maze.setRoadlmage(roadlmageFile);else if(e.getSource()=walllmage)JFileChooser chooser= new JFileChooser();FileNameExte nsionF ilter filter = new FileNameExte nsi
16、onF ilter("JPG & GIF Images", "jpg", "gif");chooser.setFileFilter(filter);int state=chooser.showOpe nDialog( null);File file=chooser.getSelectedFile();if(file!=null&&state=JFileChooser.APPROVE_OPTION)wallImageFile=file;maze.setWalllmage(walllmageFile);else i
17、f(e.getSource()=defaultImage)walllmageFile=new File("wall.jpg");roadlmageFile=new File("road.jpg");maze.setWalllmage(walllmageFile);maze.setRoadlmage(roadlmageFile);else if(e.getSource ()=ren ew)in it();elseJMenuItem item=(JMenultem)e.getSource(); mazeFile=new File(item.getText()
18、;in it();public static void main(String args)new MazeWi ndow();6. 運行結果及結論在開發(fā)環(huán)境為JCreator的電腦上編寫java程序,利用java程序實現迷宮冒險的運作。程序包含 MazeWindow.java、MazePoint.java 、WallOrRoad.java 、Maze.java、PersonlnMaze.java 、HandleMove.java 六個java源文件。其中 MazeWindow為程序的主類,貫穿始終,通過調用其他模塊功能來實現整個迷宮冒險小游戲的全部功能,是游戲安全運行。程序進過檢查修改無誤后運行得到如下運行結果。6.1運行結果示意圖7.參考文獻1】董小園Java面向對象程序設計 清華大學,2011年6月第1版2】升華.Java從入門到實踐M.:清華大學20093】國君ava2設計基礎M.:清華大學20094】朱喜福Java程序設計M.:人民
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年空調銷售渠道拓展與品牌建設服務合同3篇
- 二零二五版合租房屋租賃合同-含裝修保證金條款3篇
- 二零二五版建筑設備租賃合同書范例2篇
- 二零二五版法院判決指導下的債務償還與再融資合同3篇
- 二零二五版第5章第5節(jié)合同擔保及供應鏈金融合作協(xié)議3篇
- 二零二五版合同部合同合規(guī)性審查與風險預警合同3篇
- 二零二五年度酒店物業(yè)服務質量持續(xù)改進合同3篇
- 二零二五年青少年體育賽事服裝贊助合同3篇
- 二零二五版安防監(jiān)控設備研發(fā)與生產合同3篇
- 二零二五年度物流行業(yè)集體合同協(xié)議范本3篇
- 2024年08月云南省農村信用社秋季校園招考750名工作人員筆試歷年參考題庫附帶答案詳解
- 防詐騙安全知識培訓課件
- 心肺復蘇課件2024
- 2024年股東股權繼承轉讓協(xié)議3篇
- 2024-2025學年江蘇省南京市高二上冊期末數學檢測試卷(含解析)
- 四川省名校2025屆高三第二次模擬考試英語試卷含解析
- 湖南財政經濟學院專升本管理學真題
- 2024年認證行業(yè)法律法規(guī)及認證基礎知識
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- Proud-of-you中英文歌詞
- 基因的表達與調控.ppt
評論
0/150
提交評論