C++终结者小游戏设计(框图+类图+源代码)
已知参数和设计要求:
该课程设计在软件学院教学实验中心进行。学生自愿组合成2人的项目小组,共同完成该课程设计的游戏程序 - 终结者(Terminator)软件项目。游戏程序采用面向对象的设计与编程方法,有效代码量不低于1000行。代码编写应规范,整洁,对象命名清楚可理解。课程设计完成后应提交课程设计报告的打印稿和电子文档和完整的项目文件(包括源程序、项目文件、数据文件以及相应的可执行文件)。
学生应完成的工作:
1、 按照设计指导书中提出的对终结者游戏的需求,采用面向对象的方法,完成游戏的设计;
2、 完成有效代码量不低于1500行的程序;
3、 完成相应的设计文档,即课程设计报告。
目前资料收集情况(含指定参考资料):
面向对象程序设计课程教材《C++ Program Design》
课程设计的工作计划:
5月06日~5月17日:阅读相关资料,完成游戏设计;
5月18日~6月18日:完成游戏编程;
6月19日~6月28日:完成课程设计报告。
任务下达日期 2008 年 5 月 6 日 完成日期 2008 年 6 月 26 日
指导教师 (签名) 学 生 (签名)
程序名称: FinalMan
项目时间: 2008年6月23日-2008年6月26日
开发平台: Microsoft Visual Studio 2005 +HGE game engine
课程设计目的:
The objective of this course project is to gain practice with object-oriented design and object-oriented programming using C++ language.
我们做这个程序是为了锻炼自己的编程技术,同时也为了加深自己对软件设计的理解,加深自己制作游戏的兴趣。
另外,通过这个程序,我们培养了团队合作的能力,积累了项目合作的经验,对以后的帮助是很大的。
问题描述:
Design and implement a new game called Terminator. In this game, the player controls a robot (use the bitmaps from Chapter 11). The object of the game is to chase the bugs with the robot and “terminate” them. A bug is terminated when the robot catches the bug by touching it. Like Bug Hunt, there are two types of bugs — a slow bug and a fast bug.
To control the movement of the robot, you should create a separate window that has control arrows in it. By clicking on an arrow, the player causes the robot to move one step in that direction. To make the game challenging, design the bugs so that they can 毕业论文http://www.youerw.com/travel through walls. That is, when a bug hits the edge of the window, it should reappear at the opposite window edge. A robot cannot travel through walls.
Be sure to design your game so that it is easy to add different types and numbers of bugs. You should initially allow for three slow bugs and two fast bugs.
程序功能需求说明:
1. GUI 要求有Play Information End。
2. 设计6关,难度依次增加。
3. 虫子需要大规模渲染
4. 最后几关虫子需要有AI
5. 机器人要有动画效果
6. 背景风格为宇宙背景图
7. 要有音效效果,包括对GUI的电击,程序背景音乐,杀虫音效,胜利音效,失败音效。
8. 这个游戏祯数为60
9. 需要有个Timebar来显示剩余时间。
程序类图:
游戏控制逻辑框图:
程序模块:
HuntBug.cpp 程序的入口文件
HuntBugGame.h 封装了整个游戏管理类
HuntBugGame.cpp 游戏管理类的实现
SourceManager.h 封装了这个游戏资源
SourceManager.cpp 游戏资源的实现
VisusalObject.h 封装了基本物体泪
VisualObject.cpp 基本物体类的实现
Bug.h 封装了虫子类
Bug.cpp 虫子类的实现
MoveBug.h 封装了移动虫子类
MoveBug.cpp 移动虫子的实现
EasyBug.h 封装了简单虫子
EasyBug.cpp 简单虫子的实现
HardBug.h 封装了难虫子类
HardBug.cpp 难虫子的实现
AIHardBug.h 封装了智能虫子
AIHardBug.cpp 智能虫子的实现
Robot.h 封装了机器人类
Robot.cpp 机器人类的实现
HgeGUISystem.h 封装了GUI
HgeGUISystem..cpp GUI的实现
软件使用说明:
(程序的安装与使用方法)
项目总结:
本游戏作为进入C++编程入门而作,基于HGE引擎的图形库制作,这是我们的入门方式。
此游戏耗时3天,由于时间问题一些想法没有实现,程序代码也有优化的必要,但总体上还是成为了一个看得过眼的系统。
通过制作这个游戏让我们理解了C++的许多功能,理解了什么叫做面向对象的游戏设计,理解了什么是继承,什么是代码的可重用性,设计上我们对模式有了一定的概念,一个游戏能做到最后依赖于它结构的设计。
从写程序到游戏测试,再到文档,每一步都是艰辛的,但换来的成果却是令人欣喜的,对我们的心境也是一种锻炼。
此外,由于技术问题,难免出现BUG,要是您发现了,请告诉我们,非常感谢。1339