[源碼和文檔分享]Java飛機(jī)大戰(zhàn)游戲設(shè)計與實(shí)現(xiàn)

1 概述

1.1 項(xiàng)目簡介

本次Java課程設(shè)計是做一個飛機(jī)大戰(zhàn)的游戲,應(yīng)用Swing編程,完成一個界面簡潔流暢、游戲方式簡單,玩起來易于上手的桌面游戲。該飛機(jī)大戰(zhàn)項(xiàng)目運(yùn)用的主要技術(shù)即是Swing編程中的一些窗口類庫、事件監(jiān)聽以及貼圖技術(shù)。

1.2 實(shí)訓(xùn)功能說明

1.2.1 基本功能

通過鍵盤,方向鍵和ASWD鍵可控制戰(zhàn)機(jī)的位置,空格鍵和鼠標(biāo)左鍵發(fā)射子彈

界面中敵機(jī)出現(xiàn)的位置,以及敵機(jī)和Boss炸彈的發(fā)射均為隨機(jī)的,敵機(jī)與敵機(jī)炸彈、Boss炸彈均具有一定的速度,且隨著關(guān)卡難度的增大,數(shù)量和速度均隨著關(guān)卡數(shù)增加而增加

對于隨機(jī)產(chǎn)生的敵機(jī)和敵機(jī)炸彈,若超過矩形區(qū)域,則釋放該對象

添加碰撞效果,包括戰(zhàn)機(jī)子彈打中敵機(jī)爆炸、敵機(jī)炸彈打中戰(zhàn)機(jī)爆炸、戰(zhàn)機(jī)與敵機(jī)相撞爆炸、戰(zhàn)機(jī)子彈與敵機(jī)炸彈相撞爆炸、戰(zhàn)機(jī)子彈打中Boss、戰(zhàn)機(jī)與Boss碰撞以及戰(zhàn)機(jī)吃到血包七種碰撞效果。且碰撞發(fā)生后子彈、炸彈、血包均消失,戰(zhàn)機(jī)生命值減一,敵機(jī)和Boss生命值減少當(dāng)前戰(zhàn)機(jī)炮彈威力的生命值,若敵機(jī)或Boss生命值歸零,則刪除敵機(jī)或Boss

血包:隨著關(guān)卡游戲進(jìn)程的進(jìn)行,會出現(xiàn)一定量的血包供戰(zhàn)機(jī)補(bǔ)給生命值,血包會在客戶區(qū)矩形框內(nèi)運(yùn)動,10秒后消失;若戰(zhàn)機(jī)在10秒內(nèi)吃到血包,則會增加5點(diǎn)生命值知道生命值上限

每關(guān)中戰(zhàn)機(jī)有三條命,每條命10點(diǎn)生命值,生命使用完后,會進(jìn)入GameOver界面顯示得分?jǐn)?shù),并提供重新開始游戲和退出功能

游戲提供10個關(guān)卡,每個關(guān)卡需要打死相應(yīng)關(guān)卡的敵機(jī)數(shù)量才能進(jìn)入Boss模式,打敗Boss之后將會進(jìn)入下一關(guān)。10關(guān)通關(guān)后,顯示通關(guān)界面,并提供重新開始游戲和退出游戲的功能選項(xiàng)

暫停功能:游戲進(jìn)行過程中按下Z鍵可進(jìn)入暫停模式,再按Z則返回游戲

無敵模式:游戲進(jìn)行過程中按下Y鍵可進(jìn)入無敵模式,再按Y則返回正常游戲。該模式下戰(zhàn)機(jī)生命值不會減少,可供測試使用

魔法值:游戲進(jìn)行過程中,戰(zhàn)機(jī)魔法值會隨著時間遞增到上限10,魔法值供戰(zhàn)機(jī)道具功能的使用,過一個關(guān)卡魔法值不清零

戰(zhàn)機(jī)大招:當(dāng)戰(zhàn)機(jī)魔法值為10滿狀態(tài)時,按下X鍵消耗所有魔法值可發(fā)動大招,對屏幕中的敵機(jī)進(jìn)行清屏,Boss扣50點(diǎn)血量

防護(hù)罩:當(dāng)魔法值不為0時,按下C鍵可打開防護(hù)罩道具,該狀態(tài)下戰(zhàn)機(jī)處于無敵狀態(tài),不會損失生命值,但魔法值會隨著防護(hù)罩開啟慢慢降低

戰(zhàn)機(jī)升級功能:戰(zhàn)機(jī)子彈單個威力為1,在魔法值不為0時,按下V鍵開啟升級戰(zhàn)機(jī)模式,戰(zhàn)機(jī)圖標(biāo)變?yōu)閯赢?,子彈威力變成兩倍。(若同時開啟防護(hù)罩和戰(zhàn)機(jī)升級,則魔法值遞減速度翻倍)

1.2.2 附加功能

為游戲界面每個關(guān)卡添加了滾動背景圖片和背景音樂,并在敵機(jī)發(fā)送炮彈、戰(zhàn)機(jī)發(fā)射子彈、戰(zhàn)機(jī)擊中敵機(jī)、敵機(jī)擊中戰(zhàn)機(jī)、戰(zhàn)機(jī)敵機(jī)相撞、敵機(jī)戰(zhàn)機(jī)子彈相撞、戰(zhàn)機(jī)吃到血包、戰(zhàn)機(jī)大招、戰(zhàn)機(jī)升級、戰(zhàn)機(jī)防護(hù)罩、游戲結(jié)束時均添加了音效

為美化游戲界面,采用了一部分全民飛機(jī)大戰(zhàn)圖標(biāo),并添加了爆炸動畫和升級戰(zhàn)機(jī)動畫特效,背景音樂采用微信飛機(jī)大戰(zhàn)背景音樂和相關(guān)特效音效

為游戲設(shè)置了不同的關(guān)卡,每個關(guān)卡難度不同,敵機(jī)與敵機(jī)炸彈的速度隨著關(guān)卡增大而加快,進(jìn)入第五關(guān)以后敵機(jī)從上下方均會隨機(jī)出現(xiàn),且隨機(jī)發(fā)射炸彈

前五關(guān)卡敵機(jī)從上方飛出,速度一定,戰(zhàn)機(jī)每打掉一架敵機(jī)則增加一分,當(dāng)戰(zhàn)機(jī)得分超過該關(guān)卡所需分?jǐn)?shù)(和關(guān)卡數(shù)相關(guān))則可進(jìn)入Boss模式,打敗Boss進(jìn)入下一關(guān);進(jìn)入第六關(guān)以后,敵機(jī)分別從上下兩方飛出。隨著關(guān)卡數(shù)增加,敵機(jī)數(shù)量增加,速度增快,敵機(jī)炮彈數(shù)量和速度也相應(yīng)增加,進(jìn)入Boss所需分?jǐn)?shù)增加,Boss生命值和火力也隨著關(guān)卡數(shù)的增加而增加,游戲難度陡然直升

游戲界面中顯示當(dāng)前狀態(tài)下的關(guān)卡數(shù)、當(dāng)前命數(shù)、當(dāng)前得分、戰(zhàn)機(jī)血條、戰(zhàn)機(jī)魔法條、無敵模式提醒和戰(zhàn)機(jī)道具提醒,Boss模式下還有Boss血條

增加了鼠標(biāo)控制戰(zhàn)機(jī)位置這一效果,戰(zhàn)績的位置隨著鼠標(biāo)的移動而移動,并且點(diǎn)擊鼠標(biāo)左鍵可使得戰(zhàn)機(jī)發(fā)射子彈

進(jìn)入游戲先進(jìn)入歡迎界面,歡迎界面中顯示游戲使用說明,點(diǎn)擊鼠標(biāo)左鍵和空格鍵開始游戲。游戲過程中戰(zhàn)機(jī)命數(shù)使用完、通關(guān)均有相應(yīng)界面進(jìn)行提醒,用戶可選擇重新開始游戲或退出游戲

參考文檔和完整的文檔和源碼下載地址:

https://www.write-bug.com/article/1411.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容