[原始碼和文件分享]基於VC++的MFC類庫的飛機大戰遊戲的設計與實現

weixin_33913332發表於2018-12-12

1 概述

1.1 專案簡介

本次實訓專案是做一個飛機大戰的遊戲,應用MFC程式設計,完成一個介面簡潔流暢、遊戲方式簡單,玩起來易於上手的桌面遊戲。該飛機大戰專案運用的主要技術即是MFC程式設計中的一些函式、連結串列思想以及貼圖技術。

1.2 實訓功能說明

1.2.1 基本功能

通過鍵盤,方向鍵和ASWD鍵可控制戰機的位置,空格鍵和滑鼠左鍵發射子彈

介面中敵機出現的位置,以及敵機和Boss炸彈的發射均為隨機的,敵機與敵機炸彈、Boss炸彈均具有一定的速度,且隨著關卡難度的增大,數量和速度均隨著關卡數增加而增加

對於隨機產生的敵機和敵機炸彈,若超過矩形區域,則釋放該物件

新增碰撞效果,包括戰機子彈打中敵機爆炸、敵機炸彈打中戰機爆炸、戰機與敵機相撞爆炸、戰機子彈與敵機炸彈相撞爆炸、戰機子彈打中Boss、戰機與Boss碰撞以及戰機吃到血包七種碰撞效果。且碰撞發生後子彈、炸彈、血包均消失,戰機生命值減一,敵機和Boss生命值減少當前戰機炮彈威力的生命值,若敵機或Boss生命值歸零,則刪除敵機或Boss

血包:隨著關卡遊戲程式的進行,會出現一定量的血包供戰機補給生命值,血包會在客戶區矩形框內運動,10秒後消失;若戰機在10秒內吃到血包,則會增加5點生命值知道生命值上限

每關中戰機有三條命,每條命10點生命值,生命使用完後,會進入GameOver介面顯示得分數,並提供重新開始遊戲和退出功能

遊戲提供10個關卡,每個關卡需要打死相應關卡的敵機數量才能進入Boss模式,打敗Boss之後將會進入下一關。10關通關後,顯示通關介面,並提供重新開始遊戲和退出遊戲的功能選項

暫停功能:遊戲進行過程中按下Z鍵可進入暫停模式,再按Z則返回遊戲

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

魔法值:遊戲進行過程中,戰機魔法值會隨著時間遞增到上限10,魔法值供戰機道具功能的使用,過一個關卡魔法值不清零

戰機大招:當戰機魔法值為10滿狀態時,按下X鍵消耗所有魔法值可發動大招,對螢幕中的敵機進行清屏,Boss扣50點血量

防護罩:當魔法值不為0時,按下C鍵可開啟防護罩道具,該狀態下戰機處於無敵狀態,不會損失生命值,但魔法值會隨著防護罩開啟慢慢降低

戰機升級功能:戰機子彈單個威力為1,在魔法值不為0時,按下V鍵開啟升級戰機模式,戰機圖示變為動畫,子彈威力變成兩倍。(若同時開啟防護罩和戰機升級,則魔法值遞減速度翻倍)

6607861-dc93b39a8d50bc2e.png

參考文件和完整的文件和原始碼下載地址:

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

相關文章