java課設(shè)走迷宮(含代碼)(20210316060144)_第1頁(yè)
java課設(shè)走迷宮(含代碼)(20210316060144)_第2頁(yè)
java課設(shè)走迷宮(含代碼)(20210316060144)_第3頁(yè)
java課設(shè)走迷宮(含代碼)(20210316060144)_第4頁(yè)
java課設(shè)走迷宮(含代碼)(20210316060144)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1. 設(shè)計(jì)目的課程設(shè)計(jì)的目的2. 總體設(shè)計(jì)設(shè)計(jì)思路設(shè)計(jì)方法3. 關(guān)鍵技術(shù)4. 程序流程5. 主要源代碼6. 運(yùn)行結(jié)果及結(jié)論7. 參考文獻(xiàn)1 設(shè)計(jì)目的課程設(shè)計(jì)的目的隨著科技進(jìn)步,時(shí)代發(fā)展,計(jì)算機(jī)走進(jìn)了大家的生活。計(jì)算機(jī)程序強(qiáng)大的功能為使用者提供服 務(wù),編程語言也變得越來越流行。Java語言是當(dāng)今流行的網(wǎng)絡(luò)編程語言,它具有面向?qū)ο?、跨平臺(tái)、 分布應(yīng)用等特點(diǎn)。面向?qū)ο蟮拈_發(fā)方法是當(dāng)今世界最流行的開發(fā)方法,它不僅具有更貼近自然的語 義,而且有利于軟件的維護(hù)和繼承。為了進(jìn)一步鞏固課堂上所學(xué)到的知識(shí),深刻把握J(rèn)ava語言的重要概念及其面向?qū)ο蟮奶匦裕?熟練應(yīng)用面向?qū)ο蟮乃枷牒驮O(shè)計(jì)方法解決實(shí)際問題的能力,也

2、是為了増加同學(xué)們娛樂游戲選擇而開 發(fā)了一個(gè)適合學(xué)生的,能提升思考力的迷宮冒險(xiǎn)游戲,這既鍛煉了動(dòng)手能力,還能進(jìn)行消遣娛樂, 可謂一舉兩得。2. 總體設(shè)計(jì)設(shè)計(jì)思路根據(jù)對(duì)游戲系統(tǒng)進(jìn)行的需求分析,本系統(tǒng)將分為6個(gè)模塊:分別是迷宮主界面模塊、記時(shí)設(shè)計(jì) 模塊、迷宮設(shè)計(jì)模塊、道路和障礙設(shè)計(jì)模塊、動(dòng)漫冒險(xiǎn)者設(shè)計(jì)模塊、出入口設(shè)計(jì)模塊。實(shí)現(xiàn)的功能 有:(1) 迷宮的選擇玩家可以根據(jù)自身需求來進(jìn)行選擇簡(jiǎn)單迷宮、中等迷宮、難度迷宮三類中選擇一類迷宮進(jìn)行游 戲。(2) 選擇道路和障礙的圖像玩家可以根據(jù)個(gè)人喜好對(duì)迷宮中的道路和障礙的圖片進(jìn)行選擇,但是圖片的格式有規(guī)定,必須 是“jpg”或“gif”格式的。(3) 游戲記時(shí)

3、當(dāng)玩家控制迷宮中的動(dòng)漫人物進(jìn)行游戲時(shí),計(jì)時(shí)器就開始進(jìn)行記時(shí),直到動(dòng)漫人物到達(dá)出口時(shí), 記時(shí)結(jié)束,并在屏幕上顯示游戲用時(shí)。(4) 開始游戲玩家將鼠標(biāo)移動(dòng)至迷宮中的動(dòng)漫冒險(xiǎn)者,即可看到單擊我然后按鍵盤方向鍵”,單擊后,游 戲開始。玩家即可通過鍵盤上的方向鍵進(jìn)行游戲。(5) 游戲結(jié)束玩家控制動(dòng)漫冒險(xiǎn)者移動(dòng)至迷宮地圖的出口處時(shí),游戲的計(jì)時(shí)器停止計(jì)時(shí),并彈出信息框恭 喜您通關(guān)了”,游戲結(jié)束。(6) 冒險(xiǎn)腳步聲玩家單擊動(dòng)漫冒險(xiǎn)者后,便可以用鍵盤方向鍵進(jìn)行控制。動(dòng)漫冒險(xiǎn)者每移動(dòng)一步便會(huì)發(fā)出一聲 “嘟”的響聲。(7) 重新開始玩家可以根據(jù)個(gè)人對(duì)自己通關(guān)時(shí)間長(zhǎng)短的滿意程度選擇再次挑戰(zhàn),單擊重新開始”即可。(8)

4、 計(jì)時(shí)界面位置利用邊界式布局管理器BorderLayout將計(jì)時(shí)界面置于上方。(9) 再次挑戰(zhàn)界面位置利用邊界式布局管理器BorderLayout將再次挑戰(zhàn)界面置于下方。圖J迷宮冒險(xiǎn)系統(tǒng)6大模塊圖設(shè)計(jì)方法(1) 迷宮冒險(xiǎn)系統(tǒng)主界面模塊迷宮冒險(xiǎn)系統(tǒng)主界面模塊包括和兩個(gè)文件。MazeWindow是迷宮冒險(xiǎn)系統(tǒng)的主運(yùn)行類,其中有運(yùn) 行整個(gè)程序的main方法,該文件生成了 Maze類的一個(gè)實(shí)例,從而生成了迷宮冒險(xiǎn)系統(tǒng)的界面。 MazeWindow類繼承自JFrame類,以ActionListener為接口實(shí)現(xiàn)了事件偵聽的接口,它有一個(gè)不帶 參數(shù)的構(gòu)造方法MazeWindow (),用來生成MazeWi

5、ndow的實(shí)例o MazeWindow類將所有的功能集中到 菜單欄中,并通過調(diào)用其他模塊來實(shí)現(xiàn)迷宮冒險(xiǎn)系統(tǒng)的各個(gè)功能。(2) 記時(shí)設(shè)計(jì)模塊記時(shí)設(shè)計(jì)模塊主要由共1個(gè)文件組成。Handl eMove類繼承自JPanel類,以ActionListener為 接口實(shí)現(xiàn)事件的偵聽的接口。該模塊利用了一個(gè)2維數(shù)組來進(jìn)行實(shí)現(xiàn),并對(duì)計(jì)時(shí)顯示的字體、背景 色、顯示位置進(jìn)行設(shè)計(jì)。該模塊定義了一個(gè)無參返回值的變量SpendTime,利用SpendTime這個(gè)變量來對(duì)記時(shí)的開始觸發(fā)源和記時(shí)的結(jié)束觸發(fā)源。圖計(jì)時(shí)流程圖(3) 迷宮設(shè)計(jì)模塊迷宮設(shè)計(jì)模塊主要由2個(gè)2維數(shù)組組成,它們組成了主界面中“選擇迷宮”菜單的內(nèi)容,其中

6、包括簡(jiǎn)單迷宮、中等迷宮、難度迷宮三大類。該模塊的類繼承自幾ayeredPane類,主要通過2個(gè)2 維數(shù)組來實(shí)現(xiàn)。并且對(duì)迷宮中的道路和障礙的插入圖片格式進(jìn)行了要求。該模塊使用try和catch 來捕獲和處理異常。當(dāng)迷宮地圖不可用時(shí)則彈岀對(duì)話框無效的迷宮文件”。(4) 道路和障礙設(shè)計(jì)模塊系統(tǒng)道路和障礙設(shè)計(jì)模塊主要由這個(gè)文件組成,這個(gè)文件組成了主界面中的迷宮地圖中的道路和障 礙的內(nèi)容。(5) 動(dòng)漫冒險(xiǎn)者設(shè)計(jì)模塊動(dòng)漫冒險(xiǎn)者設(shè)計(jì)模塊主要是對(duì)迷宮地圖中處于入口處的動(dòng)漫冒險(xiǎn)玩家進(jìn)行設(shè)計(jì)。該模塊利用語 句使鼠標(biāo)箭頭移動(dòng)到動(dòng)漫冒險(xiǎn)者上時(shí)顯示文字“單擊我,然后按鍵盤方向鍵”,并為冒險(xiǎn)者的圖片格 式、長(zhǎng)度、寬帶、初

7、始位置等等進(jìn)行進(jìn)一步的設(shè)計(jì),讓動(dòng)漫冒險(xiǎn)者更加生動(dòng)。(6) 出入口設(shè)計(jì)模塊出入口設(shè)計(jì)模塊主要是定義了出口與入口以及當(dāng)動(dòng)漫冒險(xiǎn)者處于這兩個(gè)位置時(shí)的狀態(tài)和事件 的鏈接。3. 關(guān)鍵技術(shù)在設(shè)計(jì)走迷宮小游戲時(shí),編寫了 6個(gè)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(墻和路的默認(rèn)圖像);(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. 運(yùn)行結(jié)果及結(jié)論在開發(fā)環(huán)境為JCreator的電腦上編寫山陽(yáng)程序,利用jam程序?qū)崿F(xiàn)迷宮冒險(xiǎn)的運(yùn)作。程

14、序包含六個(gè)java源文件。其中MazeWindow為程序的主類,貫穿始終,通過調(diào)用其他模塊功能來實(shí)現(xiàn)整個(gè)迷宮冒險(xiǎn)小游戲的全部功能,是游戲安全運(yùn)行。程序進(jìn)過檢查修改無誤后運(yùn)行得到如下運(yùn) 行結(jié)果。運(yùn)行結(jié)果示意圖7.參考文獻(xiàn)1董小園.Java面向?qū)ο蟪绦蛟O(shè)計(jì)清華大學(xué)出版社,2011年6月第1版2】劉升華.Java從入門到實(shí)踐M.北京:清華大學(xué)出版社20093陳國(guó)君.Java2設(shè)計(jì)基礎(chǔ)M.北京:清華大學(xué)出版社20094朱喜福.Java程序設(shè)計(jì)M.北京:人民郵電出版社20055饒一梅.Java語言程序設(shè)計(jì)M.北京:人民郵電出版社2009成績(jī)?cè)u(píng)定表學(xué)生姓名班級(jí)學(xué)號(hào)專業(yè)課程設(shè)計(jì)題目評(píng)語組長(zhǎng)簽字:成績(jī)?nèi)掌?014年 月日課程設(shè)計(jì)任務(wù)書學(xué)院信息學(xué)院專業(yè)學(xué)生姓名班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目基于Java的走迷宮游戲軟件設(shè)計(jì)實(shí)踐教學(xué)要求與任務(wù):采用java技術(shù)設(shè)計(jì)走迷宮游戲軟件,游戲的結(jié)果是讓走迷宮者從迷宮的入口處走 到迷宮的出口處。設(shè)計(jì)要求如下:(1)程序根據(jù)文本文件生成迷宮,這些文本文件稱作迷宮文件。迷宮文件的擴(kuò)展名 為.maze,其中的文本內(nèi)容有著特殊的組織結(jié)構(gòu):任意兩行文本所含有的自符個(gè) 數(shù)必須相同,而且字符只可以是“*”、“#、“0”或“1”。迷宮文件中的和分別代表迷宮的入口和出口,“0”和“1”分別代表迷宮中的“路”和“墻”。 az

溫馨提示

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

評(píng)論

0/150

提交評(píng)論