基于VC的飞行模拟游戏的设计及实现
摘 要
电子游戏的出现代表了一种全新娱乐方式的诞生。目前,电子游戏正以其独特的魅力吸引着众多的玩家。随着游戏产业的蓬勃发展,越来越多的人加入到了游戏开发的行业。游戏开发涵盖了程序设计、文学、历史、音乐及美术等诸多方面的内容,除去市场价值的意义,电子游戏的发展的必要性还在于对我国文化产业的发展的重要性,游戏作为一种特殊的创意文化产品形态,是文化产业链中不可缺少的一环。设计在利用已有的开发包和已有的游戏框架的基础上,采用Microsoft Visual C++2005为开发平台,这些开发包和框架已经完美地解决了游戏图像和音效方面的问题,设计的主要工作就是向框架中添加自己所设计的类,用于实现设计所要实现的功能。在进行类的设计时,运用C++所具有的继承和派生功能,使很大一部分代码能够得到重用,从而实现多态,同时,还要在父类中很好地引入虚函数,为指针能够指向子类的同名成员提供方便,然后利用开发包里的方法来实现游戏背景的显示,最终得到一个在Microsoft Visual C++2005上运行的飞行模拟游戏,同时在运行时不会出现重大尤其是会令游戏崩溃的BUG。
关键词:飞行模拟;多态;代码重用
目 录
1 引言 1
1.1 课题背景 1
1.2 国内外研究背景 1
1.3 本课题研究的意义 1
1.4 本课题研究的方法 1
2 游戏软件的现状和VC的概况 1
2.1 中国游戏软件的现状 1
2.2 C++简介 2
2.3 MICROSOFT VISUAL C++简介 3
2.4 利用VISUAL C++开发游戏简介 3
3 开发环境介绍 3
3.1 开发环境 3
3.2 关于ALLEGRO 4
4 游戏程序的开发 4
4.1 游戏的思路和构想 4
4.1.1 游戏想法的产生 4
4.1.2 对游戏设计的初步认识 4
4.1.3 模块成型阶段 4
4.2 程序的类结构 5
4.3 游戏的实现 5
4.3.1 主类Level的实现 5
4.3.2 Object类的实现 11
4.3.3 Plane类的实现 12
4.3.4 Player类的实现 14
4.3.5 Enemy类的实现 15
4.3.6 Bullet类的实现 16
4.3.7 Prize类的实现 17
5 程序设计过程中遇到的一些重要问题 18
5.1 关于碰撞的问题 18
5.2 关于游戏画面的问题 21
5.3 关于玩家控制的问题 23
结 论 24
参考文献 24
致 谢 25
声 明 26
1.1 课题背景
现今,游戏软件已经成为盈利最高的软件之一,而且还在向着复杂化、大型化发展,其中,很多由Visual C++作为开发工具的游戏都取得了巨大的成功,比如暴雪公司的《魔兽争霸》系列和《魔兽世界》,这说明Visual C++开发游戏具有一定的优势。所以,在Visual C++平台上设计游戏是极为方便的,这也是优势所在。
1.2 国内外研究背景
无论是在国内还是国外,游戏编程已经成为了一种时尚,许多程序员都忘我地投入到其中,他们其中有很多人不光是为了盈利,也有很多是纯粹为了兴趣,许多著名的游戏编程员本身就是狂热的游戏玩家,所以,无论是国内还是国外,诞生了很多经典的游戏,其中利用Visual C++作为开发平台的更是不胜枚举,但是由于我国的游戏编程相对于国外起步较晚,所以在很多地方还存在不小的差距,甚至成了很多游戏软件业比较发达的国家的游戏加工厂。
1.3 本课题研究的意义
目前,市面上的游戏可以说是层出不穷,并且随着电脑硬件系统的改良,未来的游戏必将更智能化,更艺术化,更人性化,在高性能的硬件设备支持下,游戏的驱动引擎更具威力,控制功能更加完备,给人们带来更丰富的娱乐和体验,好的游戏给人们的生活带来了健康愉快的补充,唯美的艺术享受,潜默的教育功效,时尚的情感陶冶,如果没有足够的优质游戏,那么市场就不免会被粗劣的游戏充斥,可以说,对于青少年来说,谁对游戏编程有着更深入的理解和掌握,谁就掌握着游戏的导向权。
1.4 本课题研究的方法
采用Microsoft Visual C++2005为开发平台,在利用已有的开发包和已有的游戏框架的基础上,这些开发包和框架已经完美地解决了游戏图像和音效方面的问题,设计的主要工作就是添加自己所设计的类,用于实现本设计所要实现的功能,在进行类的设计时,运用C++所具有的继承和派生功能,使很大一部分代码能够得到重用,同时,还要在父类中很好地引入虚函数,为指针能够子类的同名成员提供方便,最后利用开发包里的方法来实现一个游戏背景的显示。