版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(jì)(論文)課 題 名 稱 基于swing開發(fā)的推箱子游戲 畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對(duì)本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文
2、)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期: 年 月 日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)
3、保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日指導(dǎo)教師評(píng)閱書指導(dǎo)教師評(píng)價(jià):一、撰寫(設(shè)計(jì))過程1、學(xué)生在論文(設(shè)計(jì))過程中的治學(xué)態(tài)度、工作精神 優(yōu) 良 中 及格 不及格2、學(xué)生掌握專業(yè)知識(shí)、技能的扎實(shí)程度 優(yōu) 良 中 及格 不及格3、學(xué)生綜合運(yùn)用所學(xué)知識(shí)和專業(yè)技能分析和解決問題的能力 優(yōu) 良 中 及格 不及格4、研究方法的科學(xué)性
4、;技術(shù)線路的可行性;設(shè)計(jì)方案的合理性 優(yōu) 良 中 及格 不及格5、完成畢業(yè)論文(設(shè)計(jì))期間的出勤情況 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級(jí)前的內(nèi)畫“”)指導(dǎo)教師:
5、(簽名) 單位: (蓋章)年 月 日評(píng)閱教師評(píng)閱書評(píng)閱教師評(píng)價(jià):一、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級(jí)前的內(nèi)畫“”)評(píng)閱教師: (簽名) 單位: (蓋章)年 月 日教研室(或答辯小組)及教學(xué)
6、系意見教研室(或答辯小組)評(píng)價(jià):一、答辯過程1、畢業(yè)論文(設(shè)計(jì))的基本要點(diǎn)和見解的敘述情況 優(yōu) 良 中 及格 不及格2、對(duì)答辯問題的反應(yīng)、理解、表達(dá)情況 優(yōu) 良 中 及格 不及格3、學(xué)生答辯過程中的精神狀態(tài) 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整
7、體水平 優(yōu) 良 中 及格 不及格評(píng)定成績: 優(yōu) 良 中 及格 不及格(在所選等級(jí)前的內(nèi)畫“”)教研室主任(或答辯小組組長): (簽名)年 月 日教學(xué)系意見:系主任: (簽名)年 月 日摘 要在現(xiàn)今電子信息高速發(fā)展的時(shí)代,電子游戲已經(jīng)深入人們的日常生活,成為娛樂方式。但是游戲設(shè)計(jì)結(jié)合了日新月異的技術(shù),在一個(gè)產(chǎn)品中整合了復(fù)雜的設(shè)計(jì)、藝術(shù)、聲音和軟件。 推箱子游戲是一款很有趣味的游戲,它由英雄、魔王、籠子、墻和地板組成,然后存儲(chǔ)在一個(gè)數(shù)組中,用戶根據(jù)鍵盤的向上、向左、向右和向下鍵操作。其開發(fā)過程有一定的技巧和方法,其中涉及到二維數(shù)組、鍵盤操作以及圖形化函數(shù)等方面的知識(shí)。此次設(shè)計(jì)是在microsoft
8、 windows 7 系統(tǒng)下,以java為開發(fā)語言,在 eclipse平臺(tái)上進(jìn)行游戲的設(shè)計(jì)與實(shí)踐。關(guān)鍵詞:游戲設(shè)計(jì)、數(shù)組、開發(fā)語言abstractin the current era of rapid development of electronic information, electronic games has been deeply peoples daily life, be enjoyed by young and old form of entertainment. but the game design combined with tomorrows technology,
9、in a product integration of complex design, art, sound and software, so not well-known. pushed box game is a very interesting game, it achieved by hero,devil,cage,floor and wall, and then stored in an array , users according to the keyboard four the direction up, left, right and down operation to co
10、ntrol. pushed box game development process has certain skills and methods, which involves a two dimensional array, keyboard and graphical function and other aspects. this design is in microsoft windows 7 system, with java for development of language, ecplise platform game design and practice.keyword
11、s: game design, array, development language目 錄摘 要iabstractii前言11可行性分析21.1要求21.2目標(biāo)22 項(xiàng)目開發(fā)計(jì)劃的任務(wù)分解23 概要設(shè)計(jì)23.1游戲界面23.2游戲四種基本圖形23.3英雄走向圖形33.4 箭頭圖片34 需求規(guī)格說明34.1運(yùn)行環(huán)境34.2功能需求34.3運(yùn)行需求45 詳細(xì)設(shè)計(jì)45.1 系統(tǒng)模塊45.2 任務(wù)執(zhí)行流程55.3 小人移動(dòng)流程56界面實(shí)現(xiàn)56.1 界面區(qū)56.2 游戲區(qū)86.3 圖片加載區(qū)116.4 英雄變化區(qū)116.5 地圖繪畫區(qū)197 結(jié)束語23參考文獻(xiàn)24附 錄25致 謝26前言隨著社會(huì)的發(fā)展
12、,人類的生產(chǎn)、生活越來越離不開信息。誰擁有了更多更有效的信息,誰就將在競爭中處于有利的地位。信息產(chǎn)業(yè)正在成為一個(gè)國家的支柱。只有擁有了先進(jìn)的技術(shù)和知識(shí),才能有效地管理好浩如煙海的信息,并從中提取出對(duì)自己有用的信息來加以利用。推箱子游戲是目前比較流行的游戲之一,很多操作系統(tǒng)或者流行軟件都會(huì)帶有這種游戲。它既能鍛煉思維的嚴(yán)密性,又有很多樂趣。我個(gè)人也比較喜歡玩這個(gè)游戲,因此,我就借這個(gè)機(jī)會(huì)將這個(gè)推箱子游戲用java語言實(shí)現(xiàn)了出來,其中的界面使用了swing中的工具,當(dāng)然,我也借鑒了前人的一些技巧經(jīng)驗(yàn)。然而swing是什么? swing是一個(gè)用于開發(fā)java應(yīng)用程序用戶界面的開發(fā)工具包。它以抽象窗口
13、工具包為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。swing開發(fā)人員只用很少的代碼就可以利用swing豐富、靈活的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面。 通過本次游戲的設(shè)計(jì),綜合自己在校期間所學(xué)的理論知識(shí),設(shè)計(jì)開發(fā)推箱子游戲,使自己熟悉應(yīng)用系統(tǒng)的開發(fā)過程,培養(yǎng)獨(dú)立思考能力,檢驗(yàn)學(xué)習(xí)效果和動(dòng)手能力,初步掌握軟件工程的系統(tǒng)理論,進(jìn)一步鞏固和加強(qiáng)自身對(duì)java, swing基礎(chǔ)知識(shí)的理解,提高自己的編程水平,從而達(dá)到理論與實(shí)踐相結(jié)合的目的。由于時(shí)間倉促和本人水平有限,此游戲的制作顯得有些粗糙,我以后將會(huì)再接再厲。1可行性分析1.1要求 在eclipse的開發(fā)環(huán)境下,利用所學(xué)java 語言相關(guān)
14、知識(shí),開發(fā)一個(gè)推箱子小游戲,實(shí)現(xiàn)游戲界面規(guī)劃、英雄走動(dòng)、魔王動(dòng)向等功能。建立一個(gè)java project工程,實(shí)現(xiàn)游戲的編程設(shè)計(jì)。1.2目標(biāo)可包括:a. 人力與設(shè)備費(fèi)用的節(jié)省:單獨(dú)開發(fā)b. 界面友好美觀:自繪技術(shù)實(shí)現(xiàn)c. 游戲的可操作性,通過鍵盤的方向鍵實(shí)現(xiàn)d. 游戲界面的游戲區(qū)e. 等等2 項(xiàng)目開發(fā)計(jì)劃的任務(wù)分解 a. 建立一個(gè)java project工程 b. 建立一個(gè)hero包 c. 畫出游戲區(qū)域 d. 調(diào)整游戲窗口大小 e. 加載游戲相關(guān)圖片 f. 計(jì)算游戲結(jié)果,判斷是否進(jìn)入下一關(guān)3 概要設(shè)計(jì)3.1游戲界面 背景圖片如下:3.2游戲四種基本圖形在游戲中相對(duì)應(yīng)的圖片分別為: 3.3英雄走
15、向圖形圖片如下:3.4 箭頭圖片3.5游戲操作操作如下: 方向鍵左:左移 方向鍵右:右移 方向鍵上:上移 方向鍵下:下移 箱子只可以推, 不可以拉, 而且一次只能推動(dòng)一個(gè),勝利條件就是把所有的箱子都推到目的地。4 需求規(guī)格說明 4.1運(yùn)行環(huán)境microsoft windows xp microsoft windows7 eclipse4.2功能需求a. 圖形左右移動(dòng)b. 圖形上下移動(dòng)c. 實(shí)現(xiàn)開始,結(jié)束按鈕的功能d. 使游戲窗口最大化失效4.3運(yùn)行需求 硬件和軟件接口:1.cpu :1.6ghz以上2.內(nèi)存:256m以上3.操縱系統(tǒng):micorsoft windows xp microsoft
16、 windows 74.運(yùn)行軟件:eclipse5 詳細(xì)設(shè)計(jì)5.1 系統(tǒng)模塊本程序包括5個(gè)模塊,分別是初始化模塊、畫圖模塊、移動(dòng)箱子模塊、移動(dòng)小人模塊和功能控制模塊。各個(gè)模塊的功能描述如下:(1)初始化模塊。 該模塊包括屏幕初始化和游戲第一關(guān)的初始化。屏幕初始化用于輸出歡迎信息和操作提示,游戲每一關(guān)的初始化是構(gòu)建每一關(guān)的關(guān)卡。(2)畫圖模塊。 該模塊主要是被其它模塊調(diào)用,用于畫墻、在空地畫箱子、在目的地畫箱子、畫小人和畫目的地。(3)移動(dòng)箱子模塊。 該模塊用于移動(dòng)箱子,包括目的地之間、空地之間和目的地與空地之間的箱子移動(dòng)。(4)移動(dòng)小人模塊。 該模塊用于控制小人移動(dòng),從而推動(dòng)箱子到目的地。(5
17、)功能控制模塊。 該模塊是幾個(gè)功能函數(shù)的集合,包括屏幕輸出功能和指定位置狀態(tài)判斷功能。5.2 任務(wù)執(zhí)行流程游戲從第一關(guān)開始,按上下左右方向鍵控制小人移動(dòng)來推動(dòng)箱子,可以在游戲中的按退出按鈕進(jìn)行退出。如果游戲無成功希望,可以按空格鍵回到當(dāng)前任務(wù)的開始狀態(tài);如果成功完成當(dāng)前關(guān),則進(jìn)入下一關(guān)。5.3 小人移動(dòng)流程小人移動(dòng)的方向有4個(gè),moving()函數(shù)(處理小人移動(dòng)的函數(shù))對(duì)這4個(gè)方向移動(dòng)的處理都一致,只是調(diào)用函數(shù)時(shí)的參數(shù)有所不同。首先判斷小人移動(dòng)的方向,然后根據(jù)小人所處世的當(dāng)前狀態(tài)、下一步狀態(tài)或者下下一步狀態(tài)進(jìn)行適當(dāng)?shù)奶幚怼?界面實(shí)現(xiàn)6.1 界面區(qū)這個(gè)區(qū)域主要負(fù)責(zé)窗體的大小,背景,名稱以及窗體不
18、可改變等元素。a.界面大小: this.setsize(540 + 4, 440 + 62);b.界面背景: this.setbackground(color.black);c.界面大小不可改變: this.setresizable(false);/ 不能改變窗體大小d.界面名稱: this.settitle(英雄傳說ii-呂季干); e.界面的實(shí)現(xiàn)如下:f.界面區(qū)總代碼: import java.awt.toolkit;import java.awt.event.keyevent;import java.awt.event.keylistener;import javax.swing.jfr
19、ame;public class gameframe extends jframe private gamepanel gp = new gamepanel();private imageutil iu = new imageutil();/ 加載圖片的工具public gameframe() init();public void init() this.add(gp);/ 加入畫紙this.setsize(540 + 4, 440 + 62);this.setdefaultcloseoperation(jframe.exit_on_close);this.setcursor(toolkit.
20、getdefaulttoolkit().createcustomcursor(iu.getimage(cursor.png), new point(26, 29), aaa);this.setresizable(false);/ 不能改變窗體大小this.setresizable(false);this.settitle(英雄傳說ii-呂季干);/ 加一個(gè)監(jiān)聽器,保鏢,匿名類:匿名類的格式 new 接口名() 接口中的方法的實(shí)現(xiàn) this.addkeylistener(new keylistener() overridepublic void keypressed(keyevent arg0)
21、 / todo auto-generated method stubswitch (arg0.getkeycode() / 0=向下 1=向左 2=向右 3=向上case 39:/ system.out.println(英雄向右);gp.setherof(2);break;case 40:/ system.out.println(英雄向下);gp.setherof(0);break;case 38:/ system.out.println(英雄向上);gp.setherof(3);break;case 37:/ system.out.println(英雄向左);gp.setherof(1);b
22、reak;overridepublic void keyreleased(keyevent arg0) / todo auto-generated method stuboverridepublic void keytyped(keyevent arg0) / todo auto-generated method stub);this.setvisible(true);public static void main(string args) / todo auto-generated method stubnew gameframe();6.2 游戲區(qū)這個(gè)區(qū)域主要完成游戲界面的大小等元素。a.
23、 界面大小:this.setsize(600, 500);b. 界面實(shí)現(xiàn)如下圖: c.游戲區(qū)總代碼:package frame;import java.awt.color;import java.awt.graphics;import java.awt.image;import javax.swing.jpanel;public class gamepanel extends jpanel private static final long serialversionuid = 6792476564904637059l;private image backimage; / 背景圖片privat
24、e image me;private imageutil iu = new imageutil();/ 加載圖片的工具private hero hero = new hero(this);private maps map = new maps(this);public maps getmap() return map;public void setmap(maps map) this.map = map;public gamepanel() this.setsize(600, 500);this.setbackground(color.black);backimage = iu.getimag
25、e(back1.jpg); / 初始化背景圖片/ heroimage = iu.getimage(role1.gif); /英雄的圖片/ me=iu.getimage(慧靈.jpg);new d().start();/ 啟動(dòng)線程overridepublic void paint(graphics g) g.drawimage(backimage, 0, 0, color.black, this);/ 畫出背景圖片g.drawimage(me, 0, 0, null);boolean yes6 = map.draw(g);/ 畫地圖if (yes6) / 到下一關(guān)map.setmap();map
26、.draw(g);/ 畫地圖/ 畫英雄hero.draw(g);/ 調(diào)用英雄的的畫的方法,將并將畫筆g傳遞過去,畫出英雄/ 該 方法用于改變英雄運(yùn)行的方向public void setherof(int f) hero.setf(f);/ 將方向的改傳給英雄hero.setmoving(true);/ 因?yàn)榘戳随I所以可以移動(dòng)/ 使用線程來完成,內(nèi)部類:寫在類里面的類class d extends thread public void run() / 方法必須這么寫while (true) try thread.sleep(40); catch (interruptedexception e)
27、/ todo auto-generated catch blocke.printstacktrace();gamepanel.this.repaint(); / 調(diào)用這個(gè)d對(duì)象外面的repaint()public hero gethero() return hero;public void sethero(hero hero) this.hero = hero;6.3 圖片加載區(qū) 這個(gè)區(qū)域主要負(fù)責(zé)加載各類型的圖片,使界面變得美觀等條件。圖片加載區(qū)總代碼:package frame;import java.awt.image;import java.awt.toolkit;import java
28、.io.ioexception;import javax.imageio.imageio;public class imageutil public image getimage(string imageurl) image image = null;try / 會(huì)將圖片加載在內(nèi)存中image = imageio.read(this.getclass().getclassloader().getresourceasstream(image/ + imageurl); catch (ioexception e) / todo auto-generated catch blocke.printst
29、acktrace();return image;6.4 英雄變化區(qū)這個(gè)區(qū)域主要負(fù)責(zé)英雄的變化,如下:a.英雄的起始坐標(biāo): / 存放英雄起始位置的坐標(biāo)private int herox = 200;private int heroy = 200;b.英雄起始的方向:private int f = 0;/ 0=向下 1=向左 2=向右 3=向上c.畫英雄的方法:public void draw(graphics g) if (ismoving) moving();/ 移動(dòng)英雄/ g.drawimage(heroimage, 0, 0, 32, 32, 200, 200, 232, 232, thi
30、s);/ 在屏幕上的左上角的x,y和 屏幕上的右下角x,y,之間,/ 圖片的左上角x,y,圖片上右下角/ g.drawimage(heroimage, herox, heroy, herox+32, heroy+32,0,0,32,32,/ null);/向下g.drawimage(heroimage, herox, heroy, herox + 32, heroy + 32, 0, 32 * f,32, 32 * (f + 1), null);/ 控制上下左右的圖片d.英雄坐標(biāo)改變的方法:public void moving() switch (f) case 0:if (peng() he
31、roy += 32;break;case 1:if (peng() herox -= 32;break;case 2:if (peng() herox += 32;break;case 3:if (peng() heroy -= 32;break;ismoving = false; / 每移動(dòng)一次就停止/ system.out.println(現(xiàn)在英雄的坐標(biāo)是:+herox+-+heroy);e.碰撞檢測的方法,返回能走還是不能走public boolean peng() / 1. 得到英雄在地圖中的位置int row = (heroy - 100) / 32;int column = (he
32、rox - 100) / 32;/ 2. 根椐英雄的位置及行進(jìn)的方向,判斷地圖上是否可以行走switch (f) / 0=向下 1=向左 2=向右 3=向上case 0:/ 得到地圖對(duì)象中的地圖數(shù)組if (gp.getmap().getmap()row + 1column = 2| gp.getmap().getmap()row + 1column = 6) return true;if (gp.getmap().getmap()row + 1column = 10) / 前面是魔王if (gp.getmap().getmap()row + 2column = 2) / 前面前面是地板gp.g
33、etmap().getmap()row + 1column = 2;gp.getmap().getmap()row + 2column = 10;return true;if (gp.getmap().getmap()row + 2column = 6) / 前面前面是籠子gp.getmap().getmap()row + 1column = 2;gp.getmap().getmap()row + 2column = 14;return true;if (gp.getmap().getmap()row + 1column = 14) / 前面是帶籠子魔王if (gp.getmap().getm
34、ap()row + 2column = 2) / 前面前面是地板gp.getmap().getmap()row + 1column = 6; / 前面就變成籠子gp.getmap().getmap()row + 2column = 10; / 前面的前面變成了魔王return true;if (gp.getmap().getmap()row + 2column = 6) / 前面前面是籠子gp.getmap().getmap()row + 1column = 6; / 前面變成籠子gp.getmap().getmap()row + 2column = 14; / 前面前面變成帶籠子的魔王ret
35、urn true;break;case 1:if (gp.getmap().getmap()rowcolumn - 1 = 2| gp.getmap().getmap()rowcolumn - 1 = 6) return true;if (gp.getmap().getmap()rowcolumn - 1 = 10) / 前面是魔王if (gp.getmap().getmap()rowcolumn - 2 = 2) / 前面前面是地板gp.getmap().getmap()rowcolumn - 1 = 2;gp.getmap().getmap()rowcolumn - 2 = 10;retu
36、rn true;if (gp.getmap().getmap()rowcolumn - 2 = 6) / 前面前面是籠子gp.getmap().getmap()rowcolumn - 1 = 2;gp.getmap().getmap()rowcolumn - 2 = 14;return true;if (gp.getmap().getmap()rowcolumn - 1 = 14) / 前面是帶籠子魔王if (gp.getmap().getmap()rowcolumn - 2 = 2) / 前面前面是地板gp.getmap().getmap()rowcolumn - 1 = 6; / 前面就變
37、成籠子gp.getmap().getmap()rowcolumn - 2 = 10; / 前面的前面變成了魔王return true;if (gp.getmap().getmap()rowcolumn - 2 = 6) / 前面前面是籠子gp.getmap().getmap()rowcolumn - 1 = 6; / 前面變成籠子gp.getmap().getmap()rowcolumn - 2 = 14; / 前面前面變成帶籠子的魔王return true;break;case 2:if (gp.getmap().getmap()rowcolumn + 1 = 2| gp.getmap().
38、getmap()rowcolumn + 1 = 6) return true;if (gp.getmap().getmap()rowcolumn + 1 = 10) / 前面是魔王if (gp.getmap().getmap()rowcolumn + 2 = 2) / 前面前面是地板gp.getmap().getmap()rowcolumn + 1 = 2;gp.getmap().getmap()rowcolumn + 2 = 10;return true;if (gp.getmap().getmap()rowcolumn + 2 = 6) / 前面前面是籠子gp.getmap().getma
39、p()rowcolumn + 1 = 2;gp.getmap().getmap()rowcolumn + 2 = 14;return true;if (gp.getmap().getmap()rowcolumn + 1 = 14) / 前面是帶籠子魔王if (gp.getmap().getmap()rowcolumn + 2 = 2) / 前面前面是地板gp.getmap().getmap()rowcolumn + 1 = 6; / 前面就變成籠子gp.getmap().getmap()rowcolumn + 2 = 10; / 前面的前面變成了魔王return true;if (gp.get
40、map().getmap()rowcolumn + 2 = 6) / 前面前面是籠子gp.getmap().getmap()rowcolumn + 1 = 6; / 前面變成籠子gp.getmap().getmap()rowcolumn + 2 = 14; / 前面前面變成帶籠子的魔王return true;break;case 3:if (gp.getmap().getmap()row - 1column = 2| gp.getmap().getmap()row - 1column = 6) return true;if (gp.getmap().getmap()row - 1column
41、= 10) / 前面是魔王if (gp.getmap().getmap()row - 2column = 2) / 前面前面是地板gp.getmap().getmap()row - 1column = 2;gp.getmap().getmap()row - 2column = 10;return true;if (gp.getmap().getmap()row - 2column = 6) / 前面前面是籠子gp.getmap().getmap()row - 1column = 2;gp.getmap().getmap()row - 2column = 14;return true;if (g
42、p.getmap().getmap()row - 1column = 14) / 前面是帶籠子魔王if (gp.getmap().getmap()row - 2column = 2) / 前面前面是地板gp.getmap().getmap()row - 1column = 6; / 前面就變成籠子gp.getmap().getmap()row - 2column = 10; / 前面的前面變成了魔王return true;if (gp.getmap().getmap()row - 2column = 6) / 前面前面是籠子gp.getmap().getmap()row - 1column =
43、 6; / 前面變成籠子gp.getmap().getmap()row - 2column = 14; / 前面前面變成帶籠子的魔王return true;break;return false;6.5 地圖繪畫區(qū) 該模塊主要用于畫圖操作,包括畫墻、畫箱子、畫目的地和畫小人等。 界面實(shí)現(xiàn)如下: a.讀取地圖的工具private imageutil iu = new imageutil();private image back1 = null; / 墻private image back2 = null; / 地板private image back3 = null; / 籠子private im
44、age back4 = null; / 魔王private image over = null;private int map = getmission(lvl); / 當(dāng)前關(guān)卡的地圖public static int lvl = 1;public int getmap() return map;public void setmap() / 進(jìn)入下一關(guān)this.map = getmission(+lvl);private int mapx = 100;/ 地圖開始的初始坐標(biāo)private int mapy = 100;private gamepanel gp; / 這樣就可以得到畫紙上的內(nèi)容,
45、比如英雄b. 構(gòu)造方法中加載圖片public maps(gamepanel gp) this.gp = gp;back1 = iu.getimage(back1.gif);back2 = iu.getimage(back2.gif);back3 = iu.getimage(back3.gif);back4 = iu.getimage(back4.gif);over = iu.getimage(陰陽.jpg);c.接收一個(gè)關(guān)卡的編號(hào)返回地圖public int getmission(int i) / 墻是1, 地板是2 ,籠子4 ,魔王8,英雄16/ 籠子+地板+魔王14switch (i) c
46、ase 1:map = new int 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 6, 6, 1, 2, 2, 2, 2, 2, 1 , 1, 6, 6, 1, 2, 10, 2, 10, 2, 1 , 1, 6, 6, 1, 10, 10, 10, 10, 18, 1 , 1, 2, 2, 2, 2, 2, 2, 2, 2, 1 , 1, 2, 2, 2, 2, 2, 2, 2, 2, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ,;break;case 2:map = new int 19 ;break;return map;d.畫地圖的方法public boolean draw(graphics g) boolean yes6 = true; / 為true的時(shí)候說明游戲結(jié)束了for (int i = 0; i map.length; i+) for (int j = 0; j mapi.length; j+) switch (mapij) c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2021學(xué)年第一學(xué)期毛澤東思想與中國特色社會(huì)主義理論體系概論學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 福建省福州市(2024年-2025年小學(xué)五年級(jí)語文)部編版期中考試((上下)學(xué)期)試卷及答案
- 2025屆湖南省湘潭縣鳳凰中學(xué)高三生物第一學(xué)期期末檢測模擬試題含解析
- 江西省九江市九江一中2025屆高二上數(shù)學(xué)期末質(zhì)量檢測試題含解析
- 山東省濟(jì)南市章丘區(qū)2025屆高二上數(shù)學(xué)期末教學(xué)質(zhì)量檢測試題含解析
- 2025屆廣東省佛山市禪城實(shí)驗(yàn)高級(jí)中學(xué)生物高三第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 2024年智能化勞務(wù)分包合同模板
- 山東省青島經(jīng)濟(jì)開發(fā)區(qū)致遠(yuǎn)中學(xué)2025屆生物高一上期末經(jīng)典模擬試題含解析
- 山西省忻州市2025屆高二上生物期末質(zhì)量檢測模擬試題含解析
- 2024年糧油采購合同模板轉(zhuǎn)讓協(xié)議570字
- 天津市天津市紅橋區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期10月期中英語試題
- 2024-2030年中國運(yùn)動(dòng)服行業(yè)市場調(diào)研及發(fā)展策略研究報(bào)告
- 2024年云網(wǎng)安全應(yīng)知應(yīng)會(huì)考試題庫
- 2024新人教版七年級(jí)上冊(cè)英語期中作文預(yù)測及范文
- 2024年國網(wǎng)江西省電力限公司提前批校園招聘高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 《好玩的搶“10”》(教案)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- 期中試題-2024-2025學(xué)年六年級(jí)上冊(cè)語文統(tǒng)編版
- 中國融通集團(tuán)社招筆試題
- 漢高無鉻鈍化&耐指紋技術(shù)交流
- 基坑斜道施工方案
- 英語中48個(gè)音標(biāo)對(duì)應(yīng)的字母組合
評(píng)論
0/150
提交評(píng)論