《C俄罗斯方块》课程设计--俄罗斯方块.doc
文本预览下载声明
《C++程序设计》课程设计报告
题 目: 俄罗斯方块
学 院:
专 业:
学生姓名:
学 号:
指导教师:
2012 年 月 日
目 录
TOC HYPERLINK \l __RefHeading__1 班级通讯录 ii
HYPERLINK \l __RefHeading__3前言 1
HYPERLINK \l __RefHeading__5需求分析 2
HYPERLINK \l __RefHeading__7概要设计 4
HYPERLINK \l __RefHeading__9详细设计 6
HYPERLINK \l __RefHeading__11测试 8
HYPERLINK \l __RefHeading__13总结 8
HYPERLINK \l __RefHeading__15_1355659001附录 10
PAGE \* MERGEFORMAT8
前言
C++程序设计牵涉到面向对象程序设计的理论、C++语言的语法以及算法等3个方面的内容,其中每一方面都包含十分丰富的内容,都可以分别单独成论。显然在一个程序中深入、详细地介绍以上3个方面的知识是不可能的,必须把它们有机地结合起来,综合应用。不同的书对此采取不同的写法,侧重点有所不同,各有道理,也各有优缺点,适合于不同的读者。需要在教学实践中检验,取长补短,不断完善。
作者认为:要进行C++程序设计当然需要了解面向对象程序设计的有关概念,但是本课程毕竟不是一门面向对象程序设计的理论课程,在本书中不是抽象地介绍面向对象程序设计的理论,而是在介绍C++语言的特点和应用过程中自然地引出面向对象程序设计的有关概念,通过C++的编程过程理解面向对象程序设计方法。在介绍程序设计过程中,介绍有关的算法,引导读者思考怎样构造一个算法。编写程序的过程就是设计算法的过程。
要用C++编程序,最基本的要求是正确掌握和运用C++。由于C++语法复杂,内容又多,如果对它缺乏系统的了解,将难以真正应用,编出来的程序将会错误百出,编译出错,事倍功半。本书的做法是全面而系统地介绍C++的主要特点和功能,引导读者由简而繁地学会编写C++程序。有了C++编程的初步基础后,再进一步提高,掌握更多更深入的算法。这样的方法可能符合大多数学习者的情况,降低了学习难度。
程序设计是一门实践性很强的课程,只靠听课和看书是学不好的。衡量学习好坏的标准不是“懂不懂”,而是“会不会干”。因此必须强调多编程,多上机实践。考虑到不同学校、不同专业、不同读者对学习C++有不同的要求。
需求分析
1.1总体需求分析
剖析游戏的实质,可以发现:首先,该游戏需要一个良好且可控的界面,能够接受鼠标和键盘的响应,可以供玩家选择自己想要的游戏级别、背景颜色和是否开启背景音乐,实现个性化设置;其次,由于游戏涉及到许多不同种类的方块,所以需要来构造这些方块并且设置一种旋转规则实现方块的各种旋转;再者,在游戏过程中,必须要处理好方块的一些事件,例如自动下落,消除满行,下一个方块的显示以及游戏的自主升级。
1.2方块及各种变换需求分析
本游戏需要有7种方块,而每种方块还可以进行旋转。每种方块每行每列最多只有4个小方块。可以将它们放在一个n*m的区域内,该区域可以看作是有许多个等面积小方块构成的区域,而这些区域的状态只有两种,被方块占据或空闲,因此,对于整个游戏区域的空间是占据或空闲,可以用一位数来标识。对于7种方块和它们旋转后的形态我们可以用不同的标识进行标记。
对于旋转,游戏中所有方块都是按照逆时针旋转的规则进行的,而且在旋转过程中它们不会因为旋转而下降,总会保持在同一高度。任何方块经过一个旋转周期还会变回原型。
1.3正常工作和中断操作的需求分析
在无人操作时,游戏开始后会随机产生一个方块,先显示在界面右上角的显示区域,然后转到游戏区域,右上角又随机产生一个新的方块,当该方块下落到底后,新的方块再次进入游戏区域,如此循环,直到游戏结束/暂停,这就是游戏的正常工作。
上述过程是在无人操作时游戏自动运行的,当用户进行一定的操作交互的时候,运行程序可以根据用户的操作指示进行当前方块的控制。而这些操作都是响应相关的功能键而执行的,所以这里可以把它看成一种“中断”的操作。
在中断过程中,可以通过键盘包括按某些键进行操
显示全部