xx科技大学xx科技学院本科毕业设计(论文)开题报告
题目基于C++的局域网俄罗斯方块游戏
系部名称信息工程系
专业班级计算机科学与技术
学生姓名
学号
指导教师
填表时间:年月日
填表说明
1.开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一。
2.此报告应在指导教师指导下,由学生在毕业设计(论文)工作前期完成,经指导教师签署意见、相关系主任审查后生效。
3.学生应按照学校统一设计的电子文档标准格式,用A4纸打印。
4.参考文献不少于8篇,其中应有适当的外文资料(一般不少于2篇)。
5.开题报告作为毕业设计(论文)资料,与毕业设计(论文)一同存档。
第1页
设计(论文)题目基于C++的局域网俄罗斯方块游戏
设计(论文)类型工程设计应用研究开发研究基础研究其它
√
一、课题目的和意义
我的设计题目是游戏与C++编程语言相结合的应用,完成一款包括单人模式、双人模式的俄罗斯方块游戏。
在成为一个真正的程序开发者的路上,俄罗斯方块是一个完美开始。当前的软件开发行业,游戏开发是其中很重要的一部分。而俄罗斯方块很适合入手,因为它包括任何一个游戏程序中所有的基本元素。它有一个游戏循环(这个过程被反复执行直到游戏退出),用于循环读取玩家的输入,并处理输入,然后更新游戏元素(下落的方块),再去检查结果(输或者赢)。并且,不需要艺术家般的才能就能做出非常好看的俄罗斯方块游戏。只要会开发图形程序,就能够完成这个课题,甚至可以可以完成的很出色。由于它游戏元素的简单(仅仅是一些方块的组合和旋转),不仅能做出一个完整的既好玩又容易上瘾游戏,而且可以做的和商业游戏极为相似。
鉴于其具备游戏开发的必要元素,对技术和算法的要求又相对简单,我可以顺利的进行一次完整的独立开发过程。能够从开发的第一步,按规范认真走好每一步,正确领会其中的每个元素,得到预期的成果,是一次很宝贵的体验。在以后的开工作中,要接触的游戏开发甚至其他软件开发都要用到这些东西,所以学习这个过程并且实现它是非常重要的。当做大的项目时,就可以更好的确定其复杂性、工作量、开发周期等。
此外,实现俄罗斯方块,需要对整个项目有清晰的思路和正确的把握,对C++编程语言的掌握、网络通信等专业知识也是一次考查和实践。
完成这样一次毕业设计,我相信对提高自身分析问题、解决问题的能力大有裨益,锻炼自身的专业技能,满足专业目标培养的要求。
第1页
二、文献综述(课题的应用背景和前景)
1.目前此类项目在国内外的总体研究情况,理论发展,技术使用情况:
在当今社会中,竞争越来越激烈,生活工作节奏也变得快捷、繁琐,大多数人没有太多的休息时间。此时的人们正需要一种既简单又节省时间的快速休闲方式,以暂时放松身心。俄罗斯方块游戏以其看似简单但却变化无穷的方块,和无尽的挑战吸引了众多爱好者,而且老少皆宜。
无可争议,俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏。它是永恒的娱乐经典,但它实际不又和那些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。这款非常流行的小游戏,创意独特,其规则简单明了,自始至终不过是几个方块纷纷落下,但方块这种最简单的几何图形对人类却有着不可思议的强大吸引力。
鉴于俄罗斯方块程序代码简单,界面易于实现,成为编写移动设备(如手机,MP4,电子词典,平板电脑等)、WEB、PC等各种平台休闲游戏的首选。因此,其实现的手段也比较繁多,包括C++、VB、Java、C#、Object-C、Flash as语言等。
目前国内比较流行的各大网站的网络俄罗斯方块,包括联众游戏大厅、中国游戏中心、腾讯QQ游戏等,采取的都是可多人对战、计分升级制。这也是目前主流的网络俄罗斯方块玩法。同时,随着移动终端越来越有市场,各种手机、平板电脑、Psp等手持设备上的俄罗斯方块也大行其道,花样繁多,玩法丰富。
2.你的课题所应用理论与使用技术的描述,包括:
(1)基于的理论知识
按照面向对象编程思想设计俄罗斯方块游戏。
面向对象思想将系统中一切都视为对象,认为对象是其属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。
使用面向对象思想设计程序,可以通过对抽象的对象模型的操作,将软件的开发,从面向程的过程,转化为高级的自然过程。从而使得软件开发具有高度的内聚性和单纯的耦合性,提高软件的开发效率和维护能力。
(2)技术运用情况
第2页
我选用C++编程语言实现课题,其中使用QT3.3做界面设计,VC6.0开发平台。QT3.3做界面设计。
C++是由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士在20实际80年代初期发明并实现的。C++语言一开始是作为C语言的增强版出现,发展到今天,它已经是一种使用非常广泛的、支持静态数据类型检查、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
VC6.0Visual C++6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是Windows环境下最主要的应用开发系统之一,不仅是一个C++编译器而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。VC++6.0是Visual C++使用最广泛最流行的版本。
QT是一个用于多重平台图形界面程序开发的C++工具包,除C++库之外,QT还包括一些工具,让编写程序快捷直接。QT类的特征是减少开发者的工作量,并且提供可靠的接口来加速用户的学习,它是,并且一直是面向对象的。最为知名的应用是诺基亚塞班系统应用开发。QT3.3保持了早期版本的易用性和功能,同时也增加了新的功能和重要的新类,完全可以完成本课题要求的界面设计。
(3)用国内新技术运用的差距与不采用新技术的原因
自1993年Microsoft公司推出Visual C++1.0后,新版本不断问世,目前已经推出了Visual C++.NET(Visual C++7.0),但它的应用有很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。实际中,更多的是以Visual C++6.0为平台。因此我选用VC++6.0版本。
QT已成为开发先进跨平台应用的事实标准。它为创建跨越各种桌面系统和设备的应用及服务提供了一个通用框架。目前其最新版本为QT4.4。QT4和QT3相比,除了更多新支持的类库和模板外,还增加了许多新特性,包括QT WebKit集成、支持Windows CE、多媒体框架、Widgets on the Canvas、并发框架以及更好地支持XML文件。但由于我着手学习QT时候,是从简单的QT3.3(QT3最流行的一个版本)开始,QT4与QT3在项目管理、信号机制等方面有较大的改动,重新学习耗时耗力,而且Qt3.3能够满足我需要的所有设计。因此我选用QT3.3进行界面设计。
第3页
3.项目的应用前景
由于操作简单,易于上手,经典好玩,又不占用大量时间,俄罗斯方块游戏适合大众群体。其受众广泛,易于推广。
程序代码简单,界面易于设计,多种平台都可以实现。应用非常广泛。
可以通过制作此游戏,了解基本的设计思路与方法,应用到其他类似休闲游戏上。同时,易于改进不足、丰富功能,使其功能更加强大,界面更加完美。
第4页
三、课题主要内容(提纲)及拟解决的关键问题
1.课题主要内容
本次的开发内容是使用C++编程语言,借助QT和VC6.0开发环境,实现具有局域网单人游戏、双人游戏功能的俄罗斯方块游戏。
(1)系统调查与可行性分析:
收集国内外电子游戏发展情况,了解常见的网络休闲游戏模式,确定局域网俄罗斯方块设计的可行性。
(2)方案选择与需求定义
论证选择的开发方案,包括涉及到的开发工具的确定、软硬件环境参数等。确定科学具体的功能需求、软件规格,估算工作量和软件规模。
(3)概要设计
根据前期的需求定义,确定局域网俄罗斯方块的物理模型,确定总体结构、处理流程,划分功能模块,确定模块之间的关系和接口。
(4)详细设计
按照俄罗斯方块概要设计文档,确定目标系统的形成过程。在此基础上选择详细的数据结构和算法,描述俄罗斯方块的软件表示,细化到代码级别。
(5)系统测试
完成俄罗斯方块代码编写后,将得到的程序,结合计算机操作系统、网络等其他元素,进行系统的各种组装测试和确认测试,验证是否满足了需求规格的定义,改进不足的设计。
(6)课题结项
整理各阶段的产出文档,总结毕设课题完成情况,完成了什么,有什么局限性。
2.拟解决的关键问题
(1)在需求定义阶段,完成《需求规格说明书》
此说明书是前期设计最重要的文档,以前未编写过此类文档,应多查阅资料、请教指导老师,完成合格详细正确的《需求规格说明书》。
(2)详细设计,如何实现两个游戏端的游戏数据通信
运用C++语言进行网络编程,要求较高。同时,本课题中,必须要保证两个游戏端之间数据的正确且及时地进行同步、交互。计划参考相关案例,选择合适的通信协
第5页
议,结合C++网络编程的特点,解决此问题。
(3)测试方案的确定
一直对测试的重视都不够,也没有参与过完整的测试过程。计划请学过测试专业的朋友指导测试方案的确定和整个测试过程的顺利完成。
第6页
四、拟采用的思路和方法
1.确定题目。
采用调查分析法。
2.系统调查与可行性分析。
采用系统分析法,用户调查法。
3.方案选择与需求定义。
采用敏捷开发的最小需求定义法。
4.概要设计。
采用结构化系统分析法。
5.详细设计。
采用结构化程序设计法,配合使用程序流程图、PAD(Problem Analysis Diagram)图。
6.系统测试
采用功能测试和健壮性测试方法。
第7页
五、课题总体安排和进度计划
第一阶段:系统调查;4月16日至4月20日。(5天)
第二阶段:可行性分析;4月21日至4月25日。(5天)
第三阶段:方案选择与需求定义;4月26日至5月5日。(10天)
第四阶段:概要设计;5月6日至5月12日。(7天)
第五阶段:详细设计;5月13日至5月24日。(12天)
第六阶段:系统测试;5月25日至5月31日。(7天)
第七节段:课题结项,整理毕业论文,准备毕业答辩;6月1日至6月7日。(7天)
参考文献(不少于8篇)
[1]罗伟坚.Visual C++经典游戏程序设计[M].北京:人民邮电出版社,2006,2
[2]《编程之美》小组.编程之美:微软技术面试心得[M].北京:电子工业出版社,2008
[3]赵跃东.俄罗斯方块编程[M].电脑编程技巧与维护,1998年第六期
[4]陆惠东.实用软件工程[M].北京:清华大学出版社,2006,5
[5]黄复贤.俄罗斯方块游戏的敏捷设计与开发[M].电脑编程技巧与维护,2005,4
[6](美)Bruce Eckel,陈昊天译.Java编程思想[M].北京:机械工业出版社,2007,6
[7]高凌琴,陈青华著.俄罗斯方块游戏关键技术探讨[M].信息技术与信息化研究探讨,2008年第二期
[8]王宇,战学刚,高国伟著.计算机算法解决俄罗斯方块中的数学与计算问题[M].计算机应用与软件,2007年第三期
[9]Stanley B,Lippman.C++Primer[M].北京:人民邮电出版社,2006,3
第8页
指导教师意见
指导教师(签名):
年月日所在系(部)意见
负责人(签章):
年月日
第9页