毕 业 设 计 ( 论 文 ) 题 目 基于 DirectX 的飞机大战游戏 (C++ 版 ) 的开发与设计 英文题目 The development and Design of Aircraft war game Based on DirectX 学生姓名 张连泉 学 号 09111629 指导老师 蒋年德 职称 副教授 专 业 软件工程 东华理工大学软件学院 二 零 一 三 年 三 月 九日摘 要飞机游戏是一款风靡全球的电视机游戏和掌上游戏机产品,曾几何时,它制造了一个无法企及的游戏巅峰,也曾影响了一代产业链。虽然它辉煌的业绩在历史的涡轮中渐渐远去,但这款游戏每每提及,总会令人爱不释手,魂牵梦绕。这款游戏的名字叫做<<飞机大战>>,它是运行于 Windows 操作系统下的一款 2D 游 戏 , 以 C/C++ 为 开 发 语 言 , 构 建 于 Microsoft Foundation Class Library(MFC)框架体系中,其中调用了部分的 Win32API 函数接口,在 Visual C++6.0 环境下使用 DirectX(SDK)软件开发包来开发的一款多媒体游戏。随着硬件性能的不断提高,游戏的日益普及,DirectX 开发包的更新和完善,使 开 发 者 不 在 需 要 过 多 的 关 注 不 同 的 硬 件 设 备 。 本 论 文 着 眼 于DirectSound,DirectDraw 的运用,开发出仅由于理论讨论的二维平面射击类游戏。本文首先分析了电脑游戏的进展历史,然后分析了制作游戏的基本流程和游戏本身所要包含的哪几种元素以及游戏应具备的游戏层次。根据 2D 游戏的特点和游戏的角色,以及给用户呈现的游戏界面的特效,对 2D 图形技术,Windows 图形界面编程技术 GDI,DirectDraw 的显卡接口和 DirectSound 声卡接口以及 MVC 设计模式下的 MFC 框架等技术进行了比较认真的讨论。通过自定义一个游戏类 CGame,封装了游戏元素的基本属性和行为,这样便于在用到游戏的行为操作是,只要轻松的产生 CGame 对象便可直接调用其方法,也有利于当升级为双人游戏,网路版时,只需要在该类中添加相应的行为便可。当我们向用户呈现游戏运行的界面时,通过 Timer 时钟控件,映射到相应的处理函数,使得游戏界面大约每 2 秒钟刷新一下界面,这样才能让一张位图背景图片具有动态效果。当使用 DirectSound 声卡接口时,我方和敌方相互射击所发出的声音,都是在时钟映射函数调用时处理的。 关键词: C/C++; VC++/MFC; 飞机大战游戏ABSTRACT Airplane game is a popular global TV ga...