




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
..綜合課程設(shè)計(jì)報(bào)告
題目:馬里奧游戲__xxxxxxxx__xxxxxxxxx__xxxxxxxxx指導(dǎo)xxxx完成日期:xx年xx月xx日設(shè)計(jì)內(nèi)容程序面向?qū)ο笤O(shè)計(jì):馬里奧對(duì)象,敵人對(duì)象,障礙物對(duì)象,場(chǎng)景對(duì)象,窗體對(duì)象,圖片以及音樂(lè)對(duì)象等等。歐陽(yáng)茂:1游戲操作:玩家操作游戲方法2障礙物的開(kāi)發(fā):開(kāi)發(fā)游戲中的障礙物3馬里奧主角的開(kāi)發(fā):開(kāi)發(fā)馬里奧主角4馬里奧與障礙物:開(kāi)發(fā)馬里奧遇到障礙物的不同狀態(tài)5敵人的開(kāi)發(fā):不同敵人類(lèi)的開(kāi)發(fā),包括三角怪,食人花6敵人與馬里奧:馬里奧遇到不同敵人的狀態(tài)劉金鳳:1美工設(shè)計(jì):圖片美化,游戲體驗(yàn)度2窗體類(lèi)的設(shè)計(jì):將游戲顯示到界面3開(kāi)發(fā)游戲場(chǎng)景:開(kāi)發(fā)游戲的背景或者游戲環(huán)境4通關(guān)開(kāi)發(fā):馬里奧通過(guò)當(dāng)前進(jìn)入下一個(gè)通關(guān)5其他:計(jì)分,生命,音樂(lè),時(shí)間的設(shè)定二、設(shè)計(jì)目標(biāo)開(kāi)始游戲時(shí),Mario會(huì)有3條生命,消滅敵人或頂一些物品可以得到分?jǐn)?shù),每到500分會(huì)增加一條生命,如果Mario被敵人殺死或是掉下懸崖,會(huì)失去一條生命,并從該版面重新開(kāi)始游戲,如果Mario的生命數(shù)為0,則游戲結(jié)束,返回標(biāo)題畫(huà)面重新開(kāi)始游戲。設(shè)計(jì)中的基本要求:1完成游戲人物的基本動(dòng)作,上下左右,跳躍等2完成障礙物和敵人類(lèi)的操作以及不同的設(shè)定3完成通關(guān)以及每一個(gè)關(guān)的障礙物和場(chǎng)景都不一樣4完成游戲人物的聲明和加分問(wèn)題5完成游戲時(shí)間的設(shè)定,游戲的開(kāi)始和結(jié)束設(shè)計(jì)中的更高要求:1游戲運(yùn)行流暢,用戶體驗(yàn)好2游戲盡量考慮內(nèi)存資源合理利用3游戲畫(huà)面美觀,不同的通關(guān)難以程度不同4游戲能夠具有足夠的吸引力三、需求分析游戲行業(yè)火爆近十年,尤其是網(wǎng)絡(luò)游戲的勢(shì)頭非常的猛,已經(jīng)成為很多年輕人不可或缺的娛樂(lè)工具。據(jù)報(bào)告指出,游戲行業(yè)市場(chǎng)已經(jīng)是我們最有活力的行業(yè),互聯(lián)網(wǎng)和寬帶的普及也進(jìn)一步的加快了游戲行業(yè)的發(fā)展。特別是20XX,隨著4g的到來(lái),相信游戲行業(yè)將進(jìn)一步的加快發(fā)展。中國(guó)網(wǎng)絡(luò)游戲打的增勢(shì)不減,市場(chǎng)巨大:在中國(guó),每年新增網(wǎng)民超過(guò)5000w,市場(chǎng)巨大。專(zhuān)家認(rèn)為,網(wǎng)絡(luò)游戲定位于大眾化娛樂(lè),收費(fèi)低廉,內(nèi)容豐富,有利于緩解人們因?yàn)楣ぷ鲗W(xué)習(xí)緊張或者經(jīng)濟(jì)不景氣造成的心理壓力。另外,我們游戲行業(yè)上市的公司或者擬上市公司,資金充足。由此來(lái)看,游戲行業(yè)必然會(huì)在未來(lái)更加的突破。預(yù)計(jì)20XX的細(xì)分市場(chǎng)份額占比仍將保持在70%左右,但是由于端游市場(chǎng)處于高位滯漲狀態(tài),增速緩慢,并且還受到頁(yè)游和移動(dòng)端游快速發(fā)展所帶來(lái)的沖擊,今后端游市場(chǎng)份額將進(jìn)一步被縮小。而隨著游戲娛樂(lè)時(shí)間碎片化價(jià)值的不斷提高,一些策略、益智、休閑類(lèi)的輕游戲同樣吸引了大量可支配游戲時(shí)間相對(duì)較少,但付費(fèi)能力較強(qiáng)的上班族玩家的青睞,這也為網(wǎng)頁(yè)游戲發(fā)展提供了強(qiáng)勁的增長(zhǎng)動(dòng)力,一些傳統(tǒng)端游企業(yè)甚至其他互聯(lián)網(wǎng)企業(yè)紛紛進(jìn)入網(wǎng)頁(yè)游戲市場(chǎng)。hSn中國(guó)行業(yè)咨詢網(wǎng)_行業(yè)報(bào)告_行業(yè)分析_市場(chǎng)調(diào)研_第三方市場(chǎng)數(shù)據(jù)提供商hSn中國(guó)行業(yè)咨詢網(wǎng)_行業(yè)報(bào)告_行業(yè)分析_市場(chǎng)調(diào)研_第三方市場(chǎng)數(shù)據(jù)提供商在移動(dòng)游戲方面,由于行業(yè)進(jìn)入門(mén)檻較低,移動(dòng)游戲生命周期較短,這就為許多創(chuàng)業(yè)型中小企業(yè)快速壯大提供了廣闊的前景和機(jī)遇。隨著,移動(dòng)端游戲質(zhì)量品質(zhì)的不斷提高,移動(dòng)端游戲市場(chǎng)的成長(zhǎng)即將進(jìn)入快速上升通道。未來(lái),頁(yè)游和端游的細(xì)分市場(chǎng)份額占比將逐年擴(kuò)大。hSn中國(guó)行業(yè)咨詢網(wǎng)_行業(yè)報(bào)告_行業(yè)分析_市場(chǎng)調(diào)研_第三方市場(chǎng)數(shù)據(jù)提供商hSn中國(guó)行業(yè)咨詢網(wǎng)_行業(yè)報(bào)告_行業(yè)分析_市場(chǎng)調(diào)研_第三方市場(chǎng)數(shù)據(jù)提供商20XX第一季度中國(guó)移動(dòng)游戲市場(chǎng)規(guī)模達(dá)到24.3億元,環(huán)比增長(zhǎng)率為9.3%;其中智能機(jī)移動(dòng)游戲市場(chǎng)規(guī)模為7.9億元,環(huán)比增長(zhǎng)率為20.9%。在移動(dòng)單機(jī)游戲方面,市場(chǎng)上主要還是以休閑類(lèi)、棋牌類(lèi)的游戲?yàn)橹?游戲的畫(huà)面質(zhì)量在不斷提高,未來(lái)將會(huì)有更多制作精良的單機(jī)大作出現(xiàn);在移動(dòng)網(wǎng)絡(luò)游戲方面,《我叫MTOnline》、《大掌門(mén)》等卡牌類(lèi)移動(dòng)網(wǎng)絡(luò)游戲受到市場(chǎng)高度關(guān)注,社交競(jìng)技元素吸引了大批用戶,智能機(jī)移動(dòng)網(wǎng)游在20XX可能迎來(lái)大爆發(fā)。hSn中國(guó)行業(yè)咨詢網(wǎng)_行業(yè)報(bào)告_行業(yè)分析_市場(chǎng)調(diào)研_第三方市場(chǎng)數(shù)據(jù)提供商以下為統(tǒng)計(jì)數(shù)據(jù):圖1同類(lèi)游戲下載量圖2上半年銷(xiāo)售額增長(zhǎng)率圖3游戲行業(yè)細(xì)分段圖4游戲行業(yè)規(guī)模增長(zhǎng)數(shù)據(jù)圖5玩家群圖6同類(lèi)游戲下載量2四、設(shè)計(jì)思想4.1程序面向?qū)ο笤O(shè)計(jì)馬里奧對(duì)象,敵人對(duì)象,障礙物對(duì)象,場(chǎng)景對(duì)象,窗體對(duì)象,圖片以及音樂(lè)對(duì)象如下:圖7完整馬里奧圖主要類(lèi):圖8主要設(shè)計(jì)類(lèi)主要完成功能:圖9主要功能模塊4.2窗體的設(shè)計(jì)窗體是馬里奧游戲的主要界面,其設(shè)計(jì)主要包括主要界面的大小,及位置選擇。標(biāo)題,布局等界面屬性方面的內(nèi)容。其中窗體設(shè)計(jì)中有一個(gè)重要的靜態(tài)屬性的設(shè)計(jì),即把游戲中的圖片進(jìn)行靜態(tài)的初始化,其設(shè)計(jì)類(lèi)為:〔MyFrame。將游戲中的主角:馬里奧圖片,場(chǎng)景以及背景圖片,敵人食人花,敵人三角怪,障礙物,等需要的圖片進(jìn)行屬性的保存,通過(guò)io流保存到集合中。以方便取出來(lái),保存到類(lèi)中<staticValue>。圖10初始窗體圖4.3開(kāi)發(fā)游戲場(chǎng)景場(chǎng)景是馬里奧游戲之中最難控制的一塊內(nèi)容,因?yàn)橐粋€(gè)馬里奧游戲里面有多個(gè)通關(guān),而且每一次的通過(guò),里面的敵人和障礙物等的位置都是不一樣的。游戲設(shè)計(jì)越復(fù)雜,那么場(chǎng)景的控制就越難。本次場(chǎng)景的通過(guò)一個(gè)場(chǎng)景類(lèi)〔background完成,設(shè)計(jì)主要包括:屬性的設(shè)計(jì):背景圖片的設(shè)計(jì),即每一個(gè)場(chǎng)景的背景圖片int類(lèi)型保存場(chǎng)景所在位置〔場(chǎng)景的順序Boolean類(lèi)型判斷當(dāng)前場(chǎng)景是否為最后一個(gè)場(chǎng)景,如果是最后一個(gè)場(chǎng)景,那么結(jié)束后游戲結(jié)束場(chǎng)景中的障礙物和敵人,使用兩個(gè)集合來(lái)進(jìn)行保存。一個(gè)集合保存已經(jīng)消滅的敵人和障礙物,另一個(gè)集合保存未被消滅的敵人和障礙物行為的設(shè)計(jì):將所有的屬性進(jìn)行初始化,包括背景圖片,場(chǎng)景順序,標(biāo)志。〔構(gòu)造方法中初始化敵人和障礙物根據(jù)游戲的狀態(tài)〔是人物完全死亡,還是暫時(shí)死亡操作死亡集合或者生存集合〔新建立一個(gè)重置方法4.4障礙物的開(kāi)發(fā)障礙物是游戲中的問(wèn)號(hào),磚塊,綠色框部分,其為馬里奧游戲中的重要組成部分包含的屬性:1障礙物在場(chǎng)景中的坐標(biāo)〔x,y2顯示的圖片3類(lèi)型〔不同的障礙物初始類(lèi)型〔即障礙物初始的狀態(tài),與遇到馬里奧之后的狀態(tài)相對(duì)行為方法:重置障礙物的方法〔即當(dāng)馬里奧死亡之后,但生命次數(shù)還未完全用完,那么當(dāng)馬里奧重生的時(shí)候,需要要將障礙物和敵人重置當(dāng)障礙物遇到馬里奧時(shí),改變相應(yīng)的圖片初始化障礙物信息的構(gòu)造方法4.5將障礙物添加到場(chǎng)景中去障礙物類(lèi)〔obstruction中擁有障礙物的屬性,而場(chǎng)景〔background中的障礙物和敵人,使用兩個(gè)集合來(lái)進(jìn)行保存。因此可以通過(guò)集合來(lái)保存各個(gè)障礙物在場(chǎng)景中的位置和狀態(tài)。比如:添加一張北京圖片到場(chǎng)景之中,將磚塊,問(wèn)號(hào),綠皮按照障礙物的位置放到對(duì)應(yīng)的位置中去。當(dāng)然,場(chǎng)景類(lèi)應(yīng)該判斷當(dāng)前的場(chǎng)景是屬于第一個(gè)場(chǎng)景還是其他場(chǎng)景,而初始化不同的障礙物位置。繪圖類(lèi)〔Maframe主要用于圖像的顯示,將場(chǎng)景中的一切障礙物繪制到界面上去。因此保留有一個(gè)場(chǎng)景〔background類(lèi)的一個(gè)對(duì)象。通過(guò)這個(gè)對(duì)象通過(guò)paint方法繪制到窗口中去。其中:背景圖片從坐標(biāo)〔0,0開(kāi)始繪制并充滿整個(gè)屏幕,而其他障礙物通過(guò)取得北京中的坐標(biāo)〔x,y來(lái)獲得繪制的位置。如下圖〔紅色部分均為障礙物圖11:障礙物添加到場(chǎng)景圖4.6馬里奧主角的開(kāi)發(fā)馬里奧主角的開(kāi)發(fā),實(shí)際上與障礙物的開(kāi)發(fā)類(lèi)似,也是創(chuàng)建一個(gè)對(duì)象〔mario作為操作馬里奧的對(duì)象,而且馬里奧與圖片一樣也有相應(yīng)的一些屬性和方法。最基本的有2屬性:坐標(biāo)<X,Y>移動(dòng)速度〔xmove,ymove跳躍速度<jump,down>跳躍時(shí)間馬里奧人物圖片馬里奧狀態(tài)〔這個(gè)指馬里奧處于向左,向右或者是跳躍狀態(tài)馬里奧移動(dòng)速度的屬性〔默認(rèn)為0,當(dāng)移動(dòng)的時(shí)候改變速度馬里奧生命次數(shù)分?jǐn)?shù)3方法:移動(dòng)〔向左,向右停止〔向左,向右跳躍〔在地面或者障礙物上面可以跳躍,否則不能跳躍4跳躍的馬里奧狀態(tài)處理:馬里奧跳躍的時(shí)候分為兩種情況,一種是點(diǎn)擊跳躍鍵在空中,一種是離開(kāi)障礙物掉落到空中。在這里考慮的因素很多,在跳躍的時(shí)候可以進(jìn)行向左或者向右方向的控制,但是當(dāng)已經(jīng)在空中的時(shí)候卻不能再進(jìn)行控制跳躍問(wèn)題了,并且在跳躍過(guò)程中還有相關(guān)的馬里奧圖片的切換。其他處理:馬里奧是一個(gè)動(dòng)態(tài)的角色,因此在他移動(dòng)或者停止的時(shí)候,都應(yīng)該有不同的狀態(tài),即有不同的圖片與之對(duì)應(yīng)。并且要區(qū)分是向左還是向右。圖12馬里奧狀態(tài)圖4.7將馬里奧對(duì)象加入到窗體之中1和障礙物添加類(lèi)似,將馬里奧繪制到窗體之中,但是因?yàn)轳R里奧是動(dòng)態(tài)的,因此需要添加兩個(gè)線程,如下:2添加線程一:因?yàn)轳R里奧移動(dòng)的時(shí)候可能是一直進(jìn)行的,〔mario類(lèi)必須實(shí)現(xiàn)一個(gè)線程專(zhuān)門(mén)為馬里奧這個(gè)角色服務(wù),一直改變馬里奧的坐標(biāo)。3添加線程二:馬里奧角色的狀態(tài)在一直改變,因此需要同步的刷新,即同步的改變馬里奧在窗體中的圖片。圖13怪物與障礙物4.8將馬里奧角色與障礙物進(jìn)行設(shè)置1障礙物〔obstruction與馬里奧〔mario的關(guān)系是,都是在場(chǎng)景之中的,因此要設(shè)置馬里奧與障礙物之間的聯(lián)系與沖突就必須使用場(chǎng)景來(lái)作為中間橋梁。因此,在馬里奧〔mario對(duì)象之中創(chuàng)建一個(gè)場(chǎng)景屬性,以便于操作場(chǎng)景中的障礙物與馬里奧之間的關(guān)系。2橫向阻擋:障礙物與馬里奧之間的沖突和聯(lián)系主要是使用坐標(biāo)來(lái)進(jìn)行設(shè)置,解釋為:當(dāng)馬里奧處于哪個(gè)區(qū)域可以活動(dòng),處于哪個(gè)區(qū)域不可以活動(dòng)。〔遇到障礙物和在邊界時(shí)移動(dòng)都會(huì)受到限制3縱向阻擋:在地面或者障礙物上面可以跳躍,否則不能跳躍。因此在縱向馬里奧仍然有一個(gè)活動(dòng)范圍。4當(dāng)馬里奧越到障礙物的時(shí)候,障礙物響應(yīng)狀態(tài)的改變問(wèn)題。比如:當(dāng)從下往上撞到問(wèn)號(hào)時(shí),那么問(wèn)號(hào)則變?yōu)殍F塊,而以這種方式撞到磚塊的時(shí)候,磚塊消失。這里也涉及到障礙物與馬里奧活動(dòng)范圍的問(wèn)題。4.9切換場(chǎng)景:當(dāng)馬里奧移動(dòng)到屏幕的最右端,需要將當(dāng)前場(chǎng)景,切換為下一個(gè)場(chǎng)景。繪制各個(gè)場(chǎng)景。當(dāng)馬里奧移動(dòng)到最右端的時(shí)候,就立即進(jìn)行場(chǎng)景的切換。4.10敵人的開(kāi)發(fā):1馬里奧游戲中有各種不同的敵人,并且各種敵人的移動(dòng)方式和移動(dòng)范圍都有不同,因此在定義敵人類(lèi)的時(shí)候也需要一定的屬性和方法,如下:2屬性:坐標(biāo):<x,y>初始坐標(biāo):〔x,y類(lèi)型:即敵人類(lèi)型顯示的圖片:敵人類(lèi)的圖片移動(dòng)方向:不同的敵人有不同的移動(dòng)方向最大移動(dòng)坐標(biāo):敵人的移動(dòng)范圍行為:重置方法:當(dāng)重置場(chǎng)景的時(shí)候?!簿褪菍?duì)場(chǎng)景中的兩種結(jié)合的刪除,添加操作死亡:地人類(lèi)被消滅線程:同馬里奧一樣,也需要實(shí)現(xiàn)一個(gè)單獨(dú)的線程來(lái)實(shí)現(xiàn)敵人類(lèi)的行為。但是與馬里奧不同的是敵人的移動(dòng)是在固定的位置進(jìn)行的移動(dòng),不需要添加上下左右的行為,而是自動(dòng)的進(jìn)行的移動(dòng)操作。圖14馬里奧與敵人4.11敵人放到場(chǎng)景之中:1將敵人類(lèi)添加到對(duì)應(yīng)的場(chǎng)景〔background之中,即將各種敵人放到〔background的敵人類(lèi)集合之中。同時(shí)在〔mainframe中通過(guò)敵人類(lèi)不同的坐標(biāo)繪制圖像。2與馬里奧一樣,敵人類(lèi)也有自己的移動(dòng)狀態(tài),因此需要根據(jù)敵人的行為進(jìn)行圖片的切換。并且在mframe中進(jìn)行不斷刷新,與敵人的移動(dòng)速度一致。圖15敵人三角怪圖16敵人食人花4.12敵人與馬里奧:敵人類(lèi)與馬里奧的關(guān)系就是一個(gè)相互攻擊的關(guān)系。對(duì)于不同的敵人,馬里奧也會(huì)有不同的狀態(tài)。對(duì)于三角怪,當(dāng)馬里奧與三角怪橫向碰撞的時(shí)候,馬里奧必然會(huì)失去一條生命,但是當(dāng)在縱向碰撞的時(shí)候敵人會(huì)死亡。而對(duì)于食人花,不管馬里奧與食人花以怎樣的形式碰撞都會(huì)失望。敵人與馬里奧的判斷,跟障礙物與馬里奧判斷類(lèi)似。而不同的是敵人是移動(dòng)的。因此通過(guò)〔mario類(lèi)中的場(chǎng)景對(duì)象,可以對(duì)敵人的狀態(tài)進(jìn)行控制,判斷敵人當(dāng)前的與馬里奧的相對(duì)情況。而做出不同的結(jié)果判斷。4.13馬里奧死亡的解釋?zhuān)厚R里奧的死亡可能是由于與三角怪橫向碰撞,也可能是與食人花縱向碰撞,也可能是走進(jìn)了地面的漏洞之中。4.14其他游戲相關(guān):分?jǐn)?shù)的屬性是放在〔mario類(lèi)中的,因此通過(guò)馬里奧殺的敵人數(shù)和頂?shù)膯?wèn)號(hào)或者磚塊數(shù)進(jìn)行分?jǐn)?shù)的增加或者不變,跟著馬里奧主角的變化而變化。而當(dāng)馬里奧死亡之后,分?jǐn)?shù)需要重置。馬里奧的聲明次數(shù)只有三次,因此,可以通過(guò)馬里奧的屬性進(jìn)行記錄。當(dāng)馬里奧死亡一次之后,敵人和磚塊都需要重置,分?jǐn)?shù)也需要重置時(shí)間是由馬里奧屬性控制,一直跟著瑪麗奧的開(kāi)始,當(dāng)聲明結(jié)束一次的時(shí)候,重置。當(dāng)一關(guān)花了太多的時(shí)間的時(shí)候,那么就結(jié)束或者當(dāng)闖關(guān)完全就結(jié)束。而結(jié)束的時(shí)候僅僅設(shè)置一個(gè)標(biāo)志。當(dāng)?shù)竭_(dá)這個(gè)標(biāo)志的時(shí)候就結(jié)束后。圖17分?jǐn)?shù)時(shí)間生命圖圖18馬里奧開(kāi)始具體實(shí)現(xiàn)5.1馬里奧類(lèi)的具體實(shí)現(xiàn)馬里奧主角的開(kāi)發(fā),實(shí)際上與障礙物的開(kāi)發(fā)類(lèi)似,也是創(chuàng)建一個(gè)對(duì)象〔mario作為操作馬里奧的對(duì)象,而且馬里奧與圖片一樣也有相應(yīng)的一些屬性和方法。publicclassMarioimplementsRunnable{privateintx=0;//移動(dòng)坐標(biāo)privateinty=490;privateintwidth=60;//馬里奧占用范圍privateintheight=60;privateBufferedImagenowImage=null;//馬里奧圖片集合privateintxmove=0;//移動(dòng)速度privateintymove=0;privateStringstatus="right--standing";privatebooleaninLand=true;//是否著陸判斷privateintmovingImg=0;//移動(dòng)標(biāo)志privateintupFlag=0;//是否在空中標(biāo)志privateintairTime=0;//在空中時(shí)間privateThreadt=newThread<this>;//馬里奧線程privatebooleanleftFlag=true;//向左移動(dòng)標(biāo)志privatebooleanrightFlag=true;//向右移動(dòng)標(biāo)志privateBackGroundbg=null;//當(dāng)前場(chǎng)景privatebooleandeadFlag=false;//死亡標(biāo)志privateintscore=0;//分?jǐn)?shù)privateintlife=3;//生命privateintoldLifeFlag=0;//是否超時(shí)privatebooleanwinFlag=false;//是否勝利.................................................................}5.2馬里奧移動(dòng)代碼馬里奧是一個(gè)動(dòng)態(tài)的角色,因此在他移動(dòng)或者停止的時(shí)候,都應(yīng)該有不同的狀態(tài),即有不同的圖片與之對(duì)應(yīng)。并且要區(qū)分是向左還是向右。下面是具體的移動(dòng)代碼。與以上的屬性相對(duì)應(yīng)publicvoidmoveLeft<>{//向左移動(dòng)if<leftFlag>{xmove=-5;if<status.indexOf<"jumping">!=-1>{status="left--jumping"; }else{status="left--moving"; } } }publicvoidmoveRight<>{//向右移動(dòng)if<rightFlag>{xmove=5;if<status.indexOf<"jumping">!=-1>{status="right--jumping"; }else{status="right--moving"; } } }publicvoidstopLeft<>{//向左停止xmove=0;if<status.indexOf<"jumping">!=-1>{status="left--jumping"; }else{status="left--standing"; }movingImg=1; }publicvoidstopRight<>{//向右停止xmove=0;if<status.indexOf<"jumping">!=-1>{status="right--jumping"; }else{status="right--standing"; }movingImg=1; }publicvoidjump<>{//跳躍if<status.indexOf<"jumping">==-1>{if<status.indexOf<"right">!=-1>{status="right--jumping"; }else{status="left--jumping"; }this.upFlag=1;this.inLand=false;ymove=-10; } }publicvoiddown<>{//向下移動(dòng)if<status.indexOf<"right">!=-1>{status="right--jumping"; }else{status="left--jumping"; }this.upFlag=-1;ymove=10; }5.3場(chǎng)景類(lèi)場(chǎng)景是馬里奧游戲之中最難控制的一塊內(nèi)容,因?yàn)橐粋€(gè)馬里奧游戲里面有多個(gè)通關(guān),而且每一次的通過(guò),里面的敵人和障礙物等的位置都是不一樣的。游戲設(shè)計(jì)越復(fù)雜,那么場(chǎng)景的控制就越難。publicclassBackGround{privateList<Obstruction>obs=null;//包含所有的障礙物privateBufferedImagenowImage=null;//包含當(dāng)前場(chǎng)景privateList<Obstruction>removedObs=null;//移除的障礙物privateList<Enemy>removedEns=null;//移除的..............................}5.4障礙物類(lèi)障礙物類(lèi)〔obstruction中擁有障礙物的屬性,而場(chǎng)景〔background中的障礙物和敵人,使用兩個(gè)集合來(lái)進(jìn)行保存。因此可以通過(guò)集合來(lái)保存各個(gè)障礙物在場(chǎng)景中的位置和狀態(tài)。比如:添加一張北京圖片到場(chǎng)景之中,將磚塊,問(wèn)號(hào),綠皮按照障礙物的位置放到對(duì)應(yīng)的位置中去。當(dāng)然,場(chǎng)景類(lèi)應(yīng)該判斷當(dāng)前的場(chǎng)景是屬于第一個(gè)場(chǎng)景還是其他場(chǎng)景,而初始化不同的障礙物位置。publicclassObstructionimplementsRunnable{//障礙物類(lèi)privateintx=0;//坐標(biāo)privateinty=0;privateinttype=0;//障礙物類(lèi)型privateintstartX=0;//障礙物初始坐標(biāo)privateintstartY=0;privateintstartType=0;//障礙物開(kāi)始類(lèi)型privateThreadt=newThread<this>;//障礙物線程privateBufferedImagebf=null;//所有的障礙物圖片集合......................................}5.4敵人類(lèi)敵人類(lèi)與馬里奧的關(guān)系就是一個(gè)相互攻擊的關(guān)系。對(duì)于不同的敵人,馬里奧也會(huì)有不同的狀態(tài)。對(duì)于三角怪,當(dāng)馬里奧與三角怪橫向碰撞的時(shí)候,馬里奧必然會(huì)失去一條生命,但是當(dāng)在縱向碰撞的時(shí)候敵人會(huì)死亡。而對(duì)于食人花,不管馬里奧與食人花以怎樣的形式碰撞都會(huì)失望。敵人與馬里奧的判斷,跟障礙物與馬里奧判斷類(lèi)似。而不同的是敵人是移動(dòng)的。因此通過(guò)〔mario類(lèi)中的場(chǎng)景對(duì)象,可以對(duì)敵人的狀態(tài)進(jìn)行控制,判斷敵人當(dāng)前的與馬里奧的相對(duì)情況。而做出不同的結(jié)果判斷。publicclassEnemyimplementsRunnable{//敵人類(lèi)privateintx;//敵人類(lèi)坐標(biāo)privateinty;privateintstartX;//敵人類(lèi)初始坐標(biāo)privateintstartY;privateintstartType;//敵人類(lèi)類(lèi)型privateintwidth;//敵人類(lèi)占用范圍privateintheight;privatebooleanmoveLeft=true;//向左移移動(dòng)判斷標(biāo)志privateBufferedImagenowImage=null;//當(dāng)前圖片集合privateinttype=0;privateThreadt=newThread<this>;//當(dāng)前線程privateintimageFlag=0;privateBackGroundbg=null;//場(chǎng)景對(duì)象privatebooleandeadFlag=false;//死亡標(biāo)志privatebooleanmoveUp=true;//向上移動(dòng)判斷privateintuplimit=0;//向上移動(dòng)限制privateintdownlimit=0;//向下移動(dòng)限制privatebooleanstop=true;//是否停止標(biāo)志privateintstopTime=0;//時(shí)間限制privatebooleantrutleFlag=false;//三角怪privatebooleanmovingFlag=false;//是否能夠移動(dòng)...............................}附錄Backgournd://場(chǎng)景類(lèi)的屬性和方法ens:List<Enemy>flag:ObstructionnowImage:BufferedImageobs:List<Obstruction>position:intremovedEns:List<Enemy>removedObs:List<Obstruction>statusFlag:intBackGround<BufferedImage,int>bgRemove<>enemyStartMove<>getEns<>getFlag<>getNowImage<>getObs<>getPosition<>getRemovedEns<>getRemovedObs<>getStatusFlag<>initobs<>resetObs<>setEns<List<Enemy>>setNowImage<BufferedImage>setObs<List<Obstruction>>setPosition<int>setStatusFlag<int>stopGame<>Enemy://敵人類(lèi)的屬性和方法bg:BackGrounddeadFlag:booleandownlimit:intheight:intimageFlag:intmoveLeft:booleanmoveUp:booleanmovingFlag:booleannowImage:BufferedImagestartType:intstartX:intstartY:intstop:booleanstopTime:intt:ThreadtrutleFlag:booleantype:intuplimit:intwidth:intx:inty:intEnemy<int,int,int,BackGround>Enemy<int,int,int,BackGround,int,int>dead<>getDownlimit<>getHeight<>getNowImage<>getT<>getType<>getUplimit<>getWidth<>getX<>getY<>initEm<>isMovingFlag<>isTrutleFlag<>run<>setBg<BackGround>setDownlimit<int>setHeight<int>setMoveLeft<boolean>setMovingFlag<boolean>setNowImage<BufferedImage>setTrutleFlag<boolean>setType<int>setUplimit<int>setWidth<int>setX<int>setY<int>Mario類(lèi)的屬性及方法:airTime:intbg:BackGrounddeadFlag:booleanheight:intinLand:booleanleftFlag:booleanlife:intmovingImg:intnowImage:BufferedImageoldLifeFlag:intrightFlag:booleanscore:intstatus:Stringt:ThreadupFlag:intwidth:intwinFlag:booleanx:intxmove:inty:intymove:intMario<int,int>Mario<int,int,BackGround>Mario<int,int,int,int,int>checkAddLife<>down<>gameOver<>getBg<>getHeight<>getLife<>getNowImage<>getScore<>getStatus<>getT<>getUpFlag<>getWidth<>getX<>getY<>isDeadFlag<>isInLand<>isLeftFlag<>isRightFlag<>isWinFlag<>jump<>moveLe
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年杭州統(tǒng)考職高試卷及答案
- 2025年教育科技行業(yè)在線學(xué)習(xí)趨勢(shì)與教學(xué)模式改革研究報(bào)告
- 2025年金融科技行業(yè)支付技術(shù)創(chuàng)新與金融服務(wù)升級(jí)趨勢(shì)報(bào)告
- 臨床寄生蟲(chóng)學(xué)與檢驗(yàn)技術(shù)試題及答案
- 2025年人工智能技術(shù)在農(nóng)業(yè)領(lǐng)域的應(yīng)用前景研究報(bào)告
- 2025年食品飲料行業(yè)健康食品與無(wú)人零售趨勢(shì)研究報(bào)告
- 紅樓夢(mèng)知識(shí)競(jìng)賽試題及答案成人
- 2025年生活服務(wù)行業(yè)生活服務(wù)消費(fèi)趨勢(shì)研究報(bào)告
- 2025年農(nóng)業(yè)種植行業(yè)智慧農(nóng)業(yè)發(fā)展趨勢(shì)研究報(bào)告
- 湖南衛(wèi)視消防知識(shí)培訓(xùn)課件
- 拍七令游戲課件
- 厲害了我的國(guó)
- GB/T 44329-2024混合氣體的制備稱(chēng)量法
- 動(dòng)物生理學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 2023浙教版八年級(jí)上數(shù)學(xué)知識(shí)點(diǎn)
- 輸變電工程施工質(zhì)量驗(yàn)收統(tǒng)一表式附件1:線路工程填寫(xiě)示例
- 安全總結(jié)模板
- 2024年四川成都市青白江區(qū)彌牟鎮(zhèn)執(zhí)法輔助人員招聘筆試參考題庫(kù)附帶答案詳解
- 《電力設(shè)備典型消防規(guī)程》(DL 5027-2015)宣貫
- 昆蟲(chóng)學(xué)與農(nóng)業(yè)害蟲(chóng)防治
- 信訪工作培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論