java課程設(shè)計小游戲

java課程設(shè)計小游戲

ID:9392201

大?。?42.50 KB

頁數(shù):29頁

時間:2018-04-30

java課程設(shè)計小游戲_第1頁
java課程設(shè)計小游戲_第2頁
java課程設(shè)計小游戲_第3頁
java課程設(shè)計小游戲_第4頁
java課程設(shè)計小游戲_第5頁
資源描述:

《java課程設(shè)計小游戲》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、《高級語言程序設(shè)計》課程設(shè)計報告1、程序設(shè)計說明書【設(shè)計題目】雷霆行動游戲程序【問題描述】雷霆行動是一款供大家休閑娛樂的小游戲,游戲通過鼠標(biāo)控制我方飛機hero的移動,達(dá)到躲閃敵機的目的;利用鼠標(biāo)鍵發(fā)射子彈和導(dǎo)彈,達(dá)到擊毀敵機的目的,摧毀敵機有積分。此游戲為闖關(guān)積分類小游戲。【軟件功能】1.按鼠標(biāo)左鍵,游戲開始。2.利用鼠標(biāo)移動控制hero自由移動,閃躲敵方子彈。3.利用鼠標(biāo)左鍵發(fā)射子彈,實現(xiàn)打中敵方飛機的功能;利用鼠標(biāo)右鍵釋放導(dǎo)彈,實現(xiàn)摧毀大量敵機的功能,擊中一個敵方飛機積一分。4.hero碰到對方子彈會消耗生命,消耗生命的多少,依據(jù)子彈的不同而不同。5.一關(guān)之后會進(jìn)入下一關(guān)。6.游戲右

2、上角紅色的進(jìn)度條表示hero的生命,當(dāng)紅色全部消失之后,游戲結(jié)束,顯示死亡。7.游戲結(jié)束后,可重新開始,同1。【算法思想】1.創(chuàng)建游戲主界面,確定窗口的坐標(biāo)。2.設(shè)計游戲開始界面顯示信息及信息坐標(biāo)。3.設(shè)置游戲進(jìn)行中的信息,hero的移動、釋放子彈和導(dǎo)彈,達(dá)到擊毀敵機的目的。4.處理游戲進(jìn)行中的子彈、大爆、爆炸、敵機消失和存在的條件。5.設(shè)置進(jìn)入下一關(guān)的條件。6.設(shè)計游戲結(jié)束界面顯示信息及信息坐標(biāo)。7.處理游戲重新開始滿足的條件。8.裝載圖像。9.對游戲進(jìn)行調(diào)試和改進(jìn),使這個游戲更加完善?!绢惖脑O(shè)計】本程序共有七個類:1.MainPanel屬性:BBv為子彈數(shù)組,EEv為敵機數(shù)組,BOMB

3、v為爆炸數(shù)組,EBv為敵機子彈數(shù)組,DBv為大爆數(shù)組,E-num為敵機數(shù)量,E-max敵機最大數(shù),E-vel為敵機速度,E-mov為敵機橫移幾率,E-hit為敵機開火幾率,Sum為擊毀敵機數(shù)量,hero-hp為hero生命,back至db-2均為圖片,tracker為媒體跟蹤器,y為背景滾動變量,seq為hero的動畫變量,isfire為hero開火,isblast為是否發(fā)爆,blastnum為大爆的數(shù)量,blastc為控制大爆,f、ff、s、ss均為游戲界面上顯示的信息;方法:MainPanel(Game)構(gòu)造方法,paint(Graphics)建立游戲開始界面如顯示的文字,run()控

4、制對象移動,BBmove(int,int)子彈的移動方法,DBmove(int,int)大爆的移動方法,mouseDragged(MouseEvent)鼠標(biāo)的拖拽用來保證hero不出界,mouseMoved(MouseEvent)鼠標(biāo)的移動用來控制hero移動,mousePressed(MouseEvent)鼠標(biāo)按鍵在組件上按下時調(diào)用,重新開始游戲,mouseClicked(MouseEvent)鼠標(biāo)按鍵在組件上單擊(按下并釋放)時調(diào)用,釋放子彈,mouseReleased(MouseEvent)鼠標(biāo)按鈕在組件上釋放時調(diào)用,mouseEntered(MouseEvent)鼠標(biāo)進(jìn)入組件上調(diào)用

5、,mouseExited(MouseEvent)鼠標(biāo)離開組件時調(diào)用;功能:游戲的開始、運行、結(jié)束與重新開始。2.Game繼承JFrame屬性:x為游戲主界面的橫坐標(biāo),y為游戲主界面的縱坐標(biāo),pl為hero的子彈;方法:Game()創(chuàng)建游戲主界面,main(String[])主方法;功能:創(chuàng)建出游戲的主界面。3.Blast(大爆)屬性:x為大爆的橫坐標(biāo),y為大爆的縱坐標(biāo),cont為數(shù)量,islive為hero存活;方法:Blast(int,int)建立大爆的坐標(biāo),grow()構(gòu)造方法;功能:構(gòu)造一個大爆(導(dǎo)彈爆炸)的類。4.Bomb(爆炸)屬性:x為爆炸的橫坐標(biāo),y為爆炸的縱坐標(biāo),cont為

6、數(shù)量,islive為hero存活;方法:Bomb(int,int)建立爆炸的坐標(biāo),grow()構(gòu)造方法;功能:構(gòu)造一個爆炸(子彈擊中敵機)的類。5.Enemy(敵機)屬性:x為敵機的橫坐標(biāo),y為敵機的縱坐標(biāo),vx敵機數(shù)組的橫坐標(biāo),vy為敵機數(shù)組的縱坐標(biāo),r為敵機橫移幾率,f為敵機開火幾率,toleft為向左移動敵機,toright為向右移動敵機;方法:Enemy(int,int,int,int)建立敵機的坐標(biāo),move(int)實現(xiàn)敵機的移動,tofire()敵機釋放子彈,hit(int,int)敵機的子彈攻擊hero,hitblast(int,int)子彈產(chǎn)生爆炸;功能:構(gòu)造一個敵機的類

7、,實現(xiàn)敵機的移動。6.EnemyBullet(敵機子彈)屬性:x、y為敵機子彈的坐標(biāo),vx、vy為敵機子彈數(shù)組的坐標(biāo);方法:move()實現(xiàn)敵機子彈的移動,hit(int,int)敵機子彈攻擊hero;功能:構(gòu)造一個敵機子彈的類,實現(xiàn)敵機子彈的移動和攻擊。7.PlayerBullet(hero子彈)屬性:x、y為hero子彈的坐標(biāo),v為hero子彈的速度;方法:move()實現(xiàn)hero子彈的移動,hit(int,int)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。