推荐赛车游戏详细设计 精品.docx
《推荐赛车游戏详细设计 精品.docx》由会员分享,可在线阅读,更多相关《推荐赛车游戏详细设计 精品.docx(14页珍藏版)》请在冰点文库上搜索。
推荐赛车游戏详细设计精品
详细设计说明书
1引言
1.1编写目的
(1)解决软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等;
(2)对功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。
(3)这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。
1.2背景
说明:
a.待开发软件系统的名称:
赛车游戏(DeathRace);
b.本项目的任务提出者:
张健;
开发者:
张健、曾雷、周志远、赵威;
用户:
普通游戏玩家
开发工具:
VisualStudio20XX
开发语言:
C++、OPENGL函数库
1.3定义
(1)GUI:
(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。
(2)物理建模:
(PhysicalModel)建立物理模型过程,对所要解决的物理问题的精确、解析描述。
(3)游戏引擎:
是指一些已编写好的可编辑游戏系统或者一些互交式实时图像应用程序的核心组件。
(4)粒子系统:
表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的gamephysics。
1.4参考资料
《软件工程导论——第5版》张海藩编著清华大学出版社
《实用软件工程》LeszekA.MaciaszekBrucLeeLiong著机械工业出版社
《OPENGL游戏程序设计》——K..霍金D.阿斯特著田昱川译科学出版社
2程序系统的总体结构
3程序1(GUI)设计说明
3.1程序描述
GUI设计,主要用于增加游戏与用户的交互性,且本程序不会常驻内存,具有可重用性,功能齐全的一套子系统。
3.2功能
输入(鼠标消息)如图:
点击SinglePlayer:
可以直接载入游戏;
点击MultiPlayer进入网络对战;
点击Options可以进入游戏设置;
点击Help可以进入游戏帮助;
点击Quit退出。
3.3性能
消息响应时间(<1ms);
3.4第三方库
本程序运用了第三方的函数库GUI
3.5流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
3.6接口
本程序无上层模块。
3.7存储分配
根据需要,说明本程序的存储分配。
3.8注释设计
(1)TMainForm类:
主绘图类,用户界面的绘制与游戏的绘制都在此类中。
(2)TMainScreen类:
主框架类,其他GUI界面将继承此类。
(3)TLoadingForm类:
设置载入游戏之面的Loading界面,如图:
(4)TOptionScreen类:
游戏设置类。
(5)TMPSScreen类,TClientForm类,TMPCScreen类,TServerForm类,TServerInfoForm类:
实现联网对战的交互。
4程序2(GameWorld)设计说明
4.1程序描述
本程序游戏的核心,与GUI、引擎核以及网络都有很紧密的联系,并且一切游戏场景的读写,绘制都在此程序中。
本程序将在游戏运行中常驻内存。
4.2设计
实现用户控制,模型载入,游戏场景的绘制以及碰撞检测。
(1)地图的设计与载入:
地图1:
地图2:
并利用3ds代码载入到场景中
(2)汽车模型:
同样利用3ds代码载入
(3)天空盒与天空球的设计:
CSky与CSkyBox类;
(4)与网络交互设计:
NetServer、NetWork类。
(5)碰撞检测:
车与地图,车与车,车与建筑。
4.3性能
游戏每秒最少20帧,因为游戏的响应时间最少为1/20s。
4.4流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
4.5接口
CWorld类中有Init()初始化整个应用程序的接口,DrawWorld()绘制游戏场景的接口。
5程序3(Engine)设计说明
5.1程序描述
本程序为游戏引擎提供底层实现,其中包括core(游戏模型),image(纹理载入),io(文件IO),plysics(物理建模)。
5.2设计
5.3接口
本程序为引擎提供各种接口:
(1)core:
提供aabbox(边界盒),line2d,line3d(线),matrix4(矩阵),plane3d(平面),vector2d,vector3d(项量),triangle3d(三角形)等;
(2)image:
提供BMP、PNG图片载入的接口;
(3)io:
文件读写;
(4)physics:
提供模型控制的接口。
6程序4(NetWork)设计说明
6.1程序描述
该程序用于实现网络数据传输,从而实现游戏在局域网内对战。
利用UDP,EventIO模型来设计。
6.2功能
状态转换图:
网络模块客户端序列图:
网络模块服务器序列图:
6.3性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
6.4输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。
数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
6.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
6.6算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
6.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
6.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
6.9存储分配
根据需要,说明本程序的存储分配。
6.10注释设计
说明准备在本程序中安排的注释,如:
a.加在模块首部的注释;
b.加在各分枝点处的注释;
c.对各变量的功能、范围、缺省条件等所加的注释;
d.对使用的逻辑所加的注释等等。
6.11限制条件
说明本程序运行中所受到的限制条件。
6.12测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
6.13尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
7故事情节说明:
2112年经济崩溃,失业率再创新高,犯罪率居高不下,监狱人满为患,现代的监狱体系面临崩溃。
所以,之后的监狱也以创造经济利益为第一目标,一片后工业时代的荒凉废墟之上,有一座装满了各种凶神恶煞的监狱,里面的每一个犯人都曾犯下了穷凶极恶的罪行……这座监狱里的犯人们有着一个非常可怕的“娱乐项目”,犯人们互殴,至死方休。
监狱把"死亡决斗"通过互联网进行传播,这个节目,引发轰动。
犯人们就是新时代的角斗士,而特米纳岛监狱就是新时代的斗兽场。
但是现代观众的审美疲劳来的太快,他们厌倦了,监狱长为了牟取更加高额的利润,每年要举行一次残忍恐怖的体育赛事——死亡飞车,通过网络视频让全世界都看到整个比赛过程中的血腥和暴力。
犯人可以用各种高端武器武装自己的赛车,所以在这样的竞技舞台上,纵然是壮观且引人入胜,死亡飞车的时代到来了。
剧情模式
特米纳岛监狱
杰森·埃姆斯,24岁来到美国.曾获得3次地区全速冠军。
因谋杀妻子被逮捕。
监狱长希望他伪装成常年戴着面具神秘的赛车手"巨石弗兰克"——观众最喜爱的赛车手之一,赢得最后的比赛,作为报酬他将赢得机会从新获得自由。
被这样一个金属面具遮去了真实面容,詹森以一个囚犯的身份加入到这场惊心动魄、为期三天的竞赛当中,而他需要做的,就是在一大群最邪恶的罪犯的交叉火力攻击之下寻找突破口以求生存,比赛开始了
主要对手:
巨炮乔:
同性恋,场内杀死3人,场外5人;
14K:
第一代美国华人.第十代三合会组员他爸爸把他送到过金融学校。
这家伙是麻省理工大学毕业的。
比赛外杀过四个人,比赛内杀过七个.
死神.赫特*格林,他是位大师,心理变态.被判处三倍无期徒刑.比赛外杀死6个,赛内12个.
兄弟会的车手派晨*高,赛内干掉9个.比赛外就数不过来了.
崔维斯*柯尔特,本地巨星.曾是全美汽车比赛协会的职业车手.他在一瓶苏格兰威士忌和一点白粉的帮助下,把他的奔驰开到了大街上,把一群人送进了医院。
其中3个当时就死了.
第一天
任务要求:
必须到达终点;
比赛中杰森*埃姆斯发现杀死了自己妻子的人,正是赛车手之一——典狱长为了高收视率嫁祸给自己,来到监狱为他伪装成常年戴着面具神秘的赛车手,以此牟取高额的利润。
第二天
任务要求:
摧毁**车;
第三天
胜利大逃亡。