1、毕业设计(论文)题 目: 飞机大战游戏的设计与开发 学 院: 计算机科学学院 专业班级: 电子信息科学与技术 11 级 1 班 指导教师: 000 职称: 副教授 学生姓名: zylxl 学 号: 411090301xx I摘 要飞机游戏是一款风靡全球的电视机游戏和掌上游戏机产品,曾几何时,它创造了一个无法企及的游戏巅峰,也曾影响了一代产业链。虽然它辉煌的业绩在历史的涡轮中渐渐远去,但这款游戏每每提及,总会令人爱不释手,魂牵梦绕。这款游戏的名字叫做飞机大战,它是运行于 Windows 操作系统下的一款 2D游戏,以 C/C+为开发语言,构建于 Microsoft Foundation Clas
2、s Library(MFC)框架体系中,其中调用了部分的 Win32API 函数接口,在Visual Studio2010 环境下开发的一款多媒体游戏。 随着硬件性能的不断提高,游戏的日益普及,使开发者不再需要过多的关注不同的硬件设备。本论文着眼于双缓冲绘图的运用,开发出仅用于理论研究的二维平面射击类游戏。 本文首先分析了电脑游戏的发展历史,然后分析了制作游戏的基本流程和游戏本身所要包含的几种元素以及游戏应具备的游戏层次。根据 2D 游戏的特点和游戏的角色,以及给用户呈现的游戏界面的特效,对 2D 图形技术,Windows 图形界面编程技术 GDI,DirectDraw 的显卡接口和 Dire
3、ctSound 声卡接口以及MVC 设计模式下的 MFC 框架等技术进行了比较仔细的研究。通过自定义一个游戏类 CGame,封装了游戏元素的基本属性和行为,这样便于在用到游戏的行为操作是,只要轻松的产生 CGame 对象便可直接调用其方法,也有利于升级为双人游戏,乃至网络版时,只需要在该类中添加相应的行为便可。当我们向用户呈现游戏运行的界面时,通过 Timer 时钟控件,映射到相应的处理函数,使得游戏界面大约每 2 秒钟刷新一下界面,这样才能让一张位图背景图片具有动态效果。当使用 DirectSound 声卡接口时,我方和敌方相互射击所发出的声音,都是在时钟映射函数调用时处理的。 【关键词:】
4、C/C+; VS 2010/MFC; 飞机大战游戏IIIIIIIABSTRACTAirplane game is a popular global TV game and handheld game products, once upon a time, it creates a game out of reach peak, have influenced a generation of industrial chain. Although it brilliant performance in the history of turbine faded away, but the game
5、is often mentioned always miss. The games name is , it is running on Windows operating systems, a 2 d game, with C/C + + as development language, building on the Microsoft Foundation Class Library MFC framework, which invokes the part Win32API function interface, in the Visual Studio 2010 environmen
6、t using DirectX software development kit SDK to develop a multimedia game. With the constant improvement of the hardware performance, the rising popularity of the game, DirectX development kit update and perfect, make developers dont need too much attention to different hardware devices. The use of
7、this thesis focus on DirectSound, DirectDraw, developed only due to the theoretical research of two-dimensional plane shooting game. This article first analyzes the development history of computer games, and then analyze the basic process of making game and the game itself need to include what kind
8、of elements and the game should have level. According to the characteristics of the 2 d game and game role, and to the user interface rendering effects, the technology of 2 d graphics, the graphics interface and DirectSound DirectDraw sound card interface and MFC framework of MVC design mode to comp
9、are the careful research. Through a custom game CGame class, encapsulates the basic attribute of game elements and behavior, so easy to use in the game operation, as long as easy to produce the CGame object can be directly to call its methods, but also to when upgraded to a double game, online versi
10、on, just need to add the proper behavior in the class. When we present game operation interface to the user, by the Timer clock control that is mapped to the corresponding processing function, makes the game about every 2 seconds refresh interface, in this way can we make a bitmap background picture
11、 with dynamic effect. When using DirectSound sound card interface, we and the noise made by enemy fire, are on the clock whenprocessing the mapping function call.KEY WORDS: C/C + +; VS 2010/MFC; plane war game I目 录第 1 章 绪论 .11.1 系统研究的背景及意义 .11.2 国内外的发展现状 .11.4 本文的组织结构 .21.5 本章小结 .2第 2 章 游戏的相关知识和系统开发
12、平台的阐述 .32.1 游戏基本流程概述 .32.2 游戏系统元素阐述 .42.3 开发环境和相关技术的概述 .52.3.1 开发环境 .52.3.2 相关技术 .52.4 本章小结 .10第 3 章 游戏分析 .123.1 用户功能需求分析 .123.2 系统性能要求 .133.3 可行性分析 .143.4 本章小结 .14第 4 章 游戏设计 .154.1 游戏整体设计 .154.1.1 整体结构 .154.1.2 游戏对战规则 .154.2 游戏界面设计 .164.2.1 游戏起始界面设计 .164.2.2 游戏运行界面设计 .184.2.3 游戏结束界面设计 .194.3 游戏功能设计
13、 .204.3.1 双缓冲绘图 .204.3.2 功能实现 .204.4 本章小结 .27第 5 章 系统测试 .285.1 软件测试基础理论 .28I5.1.1 软件测试定义 .285.1.2 软件测试基本概念 .285.2 软件测试目的 .285.3 软件测试方法分类 .295.3.1 静态测试与动态测试 .295.3.2 黑盒白盒与白盒测试 .295.3.3 单元测试、集成测试、系统测试、验证测试和确认测试 .305.4 论坛测试 .305.4.1 测试用例设计要求 .305.5 测试用例 .315.6 测试结果 .325.6 本章小结 .32第 6 章 工作总结 .33致谢 .34参考
14、文献 .35附录 1 .36第 1 章 绪论1第 1 章 绪论1.1 系统研究的背景及意义当今社会是一个信息社会,一个知识经济的年代。自从世界上第一台计算机ENIAC 于 1946 年问世到现在,计算机业飞速发展。随着以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃兴起,世界已然进入在计算机信息管理领域的激烈竞争的时代,计算机,自然而然的变成了人们生活中必不可少的一部分。过去,人们只要是借助电影,电视,音乐等方式来娱乐。而今天,以游戏为代表的电子娱乐正成为主流娱乐方式。因为 CPU 以及显卡等设备的高速发展,为人们开发出更加炫目多彩的游戏提供了可能。时代的发展,社会的进步,科
15、学技术正以日新月异的速度飞速的向前发展。计算机技术的发展更是迅速而且广泛。可以说,计算机已经涉及到现代绝大部分行业。目前纷繁复杂的游戏软件比比皆是,无论在线的网路游戏还是桌面游戏,二维的还是三维立体空间的,多由单机版游戏孕育而来。学习简单的单机版游戏的制作,有利于初学者了解到游戏制作的理念。目前不论是在国内还是世界范围内,游戏产业都如雨后的春笋,蓬勃发展,越来越多更具娱乐性的游戏产品被开发出来,这其中在众多的游戏开发工具中,Microsoft 的 Visual Studio 系列被认为是当今世界最强大的游戏开发软件之一。其代表作:魔兽争霸系列、星际争霸系列、帝国时代系列等等等等,几乎所有的大作
16、都有 VS 的功劳。因此掌握了 VS 的应用,不但是掌握了一种优秀的开发工具,对于今后参加大型团队的游戏项目开发也具有一定的帮助。本设计通过开发一个单机版的射击类游戏,有一定的娱乐性很值得一试。通过制作这样一个软件,可以加深对游戏设计思想的了解,也可以进一步熟悉编程工具的应用,更可以给我们的生活带来更多的趣味。通过该设计,我将更好的了解 windows 消息机制,更深的体会到利用 Visual Studio/MFC 开发 windows 程序的优越性。1.2 国内外的发展现状96,97 年的国产游戏产品是单机版的游戏,在当时的市场上虽然品质和档次不如外来产品,但也占有一定的市场,例如仙剑奇侠传
17、 、 三国志等系列西安工程大学学士学位论文2带有鲜明中国特色与气息的游戏在市场上掀起了一波高潮。1998 年联众与中国游戏中心等老牌的游戏平台的推出标志着电脑游戏在中国的开荒与生根。但是到了 1999 年在没有形成主流产品的情况下,政策不明朗,包括开发资金出现问题等原因国产游戏开始走下坡路。一直到了 2000 年,网络游戏问世并且很快流行起来我国的游戏行业才又渐渐的复苏,但是由于投入差距太大,起步晚等原因与外国游戏相对而言并没有竞争力。时至今日,网络游戏走入盛世,成为了一部分人休闲娱乐的主要行为。国内网易、腾讯、九城、完美等公司百花齐放,国产网游渐渐走入国际市场,而且基于网络的发展真正实现了网
18、络全球化,网络游戏也是遍布全球,全球同玩一款游戏的现象比比皆是。大量海外游戏走入中国市场,电脑游戏百花纷呈,随着经济的进步,计算机科技的发展,这一现象将愈演愈烈。1.4 本文的组织结构第 1 章 绪论 本章主要介绍了课题的研究背景,课题研究的目的与意义,以及该项目所在领域国内外发展状况等,最后指出了本文工作内容及论文的组织结构。第 2 章 游戏相关知识和系统开发平台的阐述 本章主要介绍了整个游戏中的流程表述和开发所用语言以及开发平台的介绍与说明。第 3 章 游戏分析 本章主要分析了游戏的可行性,游戏对系统性能的要求以及用户对功能的需求。第 4 章 游戏设计 本章是本文比较重要的章节,总体描述了
19、游戏规则以及游戏开发中各项功能的实现方法,游戏界面的设计,最后对整个项目的包结构和项目资源路径做了简单的剖析和介绍。第 5 章 系统测试 详细介绍了测试的概念,并对本项目进行测试。第 6 章 总结。1.5 本章小结详细介绍了电脑游戏开发的国内外现状,以及本论文主要研究的方向和论文的整体结构,从本章中能够清楚的了解本论文的整体架构,对以后的各细节描述都有清晰的认识。第 2 章 游戏的相关知识和系统开发平台的阐述3第 2 章 游戏的相关知识和系统开发平台的阐述2.1 游戏基本流程概述 一个游戏基本上是一个连续的循环,它完成一系列的逻辑操作,并在屏幕上绘制图像,具体流程如下: (1)初始化:在这一步
20、中,游戏程序执行标准初始化操作,如内存分配、资源采集、从磁盘载入数据等等,这和其他 Windows 应用程序一样。 (2)进入游戏循环:在这一步中,游戏代码将进入游戏主循环,此时各种游戏动作和情节开始运行,直到当接受到用户退出游戏的命令。 (3)获取玩家的输入信息: 在这一步中,游戏玩家的输入信息被处理或缓存,以备下一步人工智能和游戏逻辑使用。 (4)执行人工智能和游戏逻辑:这部分包括了游戏代码的主体,诸如执行人工智能、物理系统和常规的游戏逻辑,其结果用于渲染下一帧图像。 (5)渲染下一帧图像: 游戏的输入和第四步中游戏人工智能和游戏逻辑执行的结果,被用来产生游戏的下一帧。这个图像通常放在不可
21、见的缓存区内,因此玩家不会看到它逐渐被渲染的过程随后该图像被迅速拷贝到显示存储器中并显示出来。 (6)同步显示:通常由于游戏复杂程序不同,游戏在计算机上运行的速度会不一。使用定时器和等待函数确保游戏和最大帧同步,通常认为 30FPS(帧/秒)是可以接受的最低速率,而大多数动作玩家将他们的图形调整到不大于60FPS。 (7)循环:返回到游戏的入口并重新执行上述全部步骤。 (8)关闭:这一步游戏结束,表示将退出主程序或游戏循环,并回到操作系统。然而,在用户进行结束之前,用户必须释放所有的资源并清理系统。 游戏基本流程简图如下: 西安工程大学学士学位论文4初 始 化 分 配 内 存 装 载 文 件
22、构 建 表 格主 事 件 循 环 调 用 窗 口 事件 并 初 始 化 计 时处 理 窗 口 事 件清 除 再 分 配 关 闭 文 件返 回 操 作 系 统获 取 玩 家 信 息主 逻 辑 人 工 智 能 碰 撞 检 测 物 理 系 统键 盘将 下 一 帧 画 面 渲 染到 后 备 缓 存 复 制 图 像 用 以显 示 时 间 同 步 锁定 为 3 0 帧 / 秒退 出 ?后 备 画面 内 存循 环等 待图 2-1 游戏基本流程图2.2 游戏系统元素阐述游戏元素是指各类游戏的基本构成要素,该项目主要是侧重射击类游戏,那么其中主要包括 4 中元素: (1)游戏界面:人物造型、战斗场地、动画效果等,当玩家在进行游戏时,界面的效果,风格将会在第一时间告诉给玩家,这是游戏的大致轮廓,其中主要包括以下 2 点:图形技术:2D 和 3D 图形技术;游戏视角 :第一人称视角,第三人称视角,俯视角。 (2)游戏创意:游戏的创作意义,新奇,惊人,震撼,实效,有较突出的独立性。 (3)可玩性:有较强的可玩性,情绪 风格 精神这三个 方面 特征 。可玩性是玩家和乐趣之间的沟通桥梁, ,不仅体现在单机玩家和电脑对抗中,也体现在