俄罗斯方块设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机信息管理专业工程项目训练任务书姓名:学号:班级:
目录
目录 (1)
1.项目介绍 (2)
1.1 项目简介 (2)
1.2 游戏操作方法 (2)
1.3 软件运行环境 (3)
1.4 项目的目的与目标 (3)
1.5 术语解释 (3)
2.项目需求分析 (4)
2.1 总体需求分析 (4)
2.2 下坠物及各种变换需求分析 (4)
2.3 正常工作和中断操作的需求分析 (4)
2.4 主界面需求分析 (5)
3. 系统分析与设计 (8)
3.1 程序流程图 (8)
3.2 定义方块的数据结构 (8)
3.3 运行图示 (9)
3.4游戏设计分析 (11)
4.系统测试 (12)
4.1 游戏界面菜单选项的功能测试 (12)
4.2 按键事件的功能测试 (12)
4.3方块堆砌与消行测试 (13)
4.4 测试结果分析 (13)
5.系统实施 (14)
5.1到达底部的判断和消行的实现 (14)
5.2 中断操作流程的实现 (15)
5.3 变形的实现 (15)
5.4 方块的显示 (16)
5.5 障碍物的显示 (16)
总结 (18)
参考资料 (19)
1.项目介绍
1.1 项目简介
俄罗斯下坠物操作简单,很容易上手,作为家喻户晓老少皆宜的大众游戏,它是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。但是,谁知道这么优秀的娱乐工具,出自哪位神人之手呢?顾名思义,俄罗斯下坠物自然是俄罗斯人发明的。这位伟人叫做阿列克谢·帕基特诺夫(Alexey Pazhitnov)。
俄罗斯方块最早还是出现在 PC 机上,而我国的用户都是通过红白机了解、喜欢上它的。对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,作为游戏本身很有魅力。
此软件给用户提供了一个展现自己高超技艺的场所,在这里,它不仅能放松自己,还能感受到游戏中的乐趣。
1.2 游戏操作方法
游戏区域会从顶部不断落下7种下坠物的一种,游戏区域的右侧有一方框可以提示用户下一个下坠物的形状,玩家可以移动、旋转、加速下落和一键到底自己窗口内落下的下坠物,通过用户的操作,下坠物在游戏区域以“摆积木”的形式出现。下坠物在一行或多行堆满后就可以自动消掉,消行后会得到相应的分数,如果当前下坠物堆积至窗口顶端,即游戏结束。
(1)按游戏界面的"开始"菜单来开始游戏;"暂停"菜单暂停游戏; "结束"菜单结束游戏;"设置"菜单对游戏进行设置,实现个性化设置。
(2)键盘操作: "←"左移一格;"→"右移一格;"↑"旋转操作;"↓"下坠物丢下(加速下落);"空格键"一键到底;
(3)"计分牌"显示的内容:"得分"为本局的分数,一次消一行加100分、一
次消两行加400分、一次消三行加900分、一次消四行加1600分。
(4)"设置"键:用鼠标可以选择游戏区域大小、级别、是否开启背景音乐等。
"级数"为游戏当前等级,当分数达到当前等级的最高值,等级会提升、速度会加快。玩家可以任意选择级别,当分数到达晋级分数(当前等级与下一级的分数差)后自动晋级,分数继续累加。游戏结束时,如果得分进入前八名,英雄榜将记录你的姓名、分数,并为你排名。
1.3 软件运行环境
处理器,32MB以上内存,硬盘1GB以上
Microsoft(R) Windows(R) 系列所有操作系统
800*600或以上的屏幕分辨率
1.4 项目的目的与目标
项目实现了俄罗斯下坠物的所有基本功能,同时,为了满足人们的个人需求我们加入了很多游戏个性化效果。我们加入了各种背景图片以供选择,从而实现画面的美观、简洁、有吸引力;加入了音乐、音效和Flash动画效果等,从而使游戏从感官上更加吸引玩家;加入了自主设置键盘的操作,从而使操作更加简单,更容易上手,且不易失误。并且当游戏窗
口最小化时,游戏能够自动暂停,我们会力争使游戏具有可靠性,安全性,完整性,灵活性,开发出一款更加适合人们需求的俄罗斯方块游戏。
1.5 术语解释
下坠物:随机产生的一个即将下落的“积木”
旋转:逆时针旋转90度
中断:人为操作对游戏自主运行的影响
一键到底:指游戏中对于下坠物的操作,按某个键就会使下坠物直接落到游戏区域底部正常工作:没有人操作时游戏下坠物的自主下落。
2.项目需求分析
2.1 总体需求分析
剖析游戏的实质,可以发现:首先,该游戏需要一个良好且可控的界面,能够接受鼠标和键盘的响应,可以供玩家选择自己想要的游戏级别、背景颜色和是否开启背景音乐,实现个性化设置;其次,由于游戏涉及到许多不同种类的下坠物,所以需要来构造这些下坠物并且设置一种旋转规则实现下坠物的各种旋转;再者,在游戏过程中,必须要处理好下坠物的一些事件,例如自动下落,消除满行,下一个下坠物的显示以及游戏的自主升级。
2.2 下坠物及各种变换需求分析
本游戏需要有7种下坠物,而每种下坠物还可以进行旋转。每种下坠物每行每列最多只有4个小下坠物。图形有如下几种:
(1)长条形(2)Z字形(3)反Z字形(4)田字形(5)7字形(6)反7字形(7)T字形
可以将它们放在一个n*m的区域内,该区域可以看作是有许多个等面积小下坠物构成的区域,而这些区域的状态只有两种,被下坠物占据或空闲,因此,对于整个游戏区域的空间是占据或空闲,可以用一位数来标识。对于7种下坠物和它们旋转后的形态我们可以用不同的标识进行标记。
对于旋转,游戏中所有下坠物都是按照逆时针旋转的规则进行的,而且在旋转过程中它们不会因为旋转而下降,总会保持在同一高度。任何下坠物经过一个旋转周期还会变回原型。
2.3 正常工作和中断操作的需求分析
在无人操作时,游戏开始后会随机产生一个下坠物,先显示在界面右上角的显示区域,然后转到游戏区域,右上角又随机产生一个新的下坠物,当该下坠物下落到底后,新的下坠物再次进入游戏区域,如此循环,直到游戏结束/暂停,这就是游戏的正常工作。
上述过程是在无人操作时游戏自动运行的,当用户进行一定的操作交互的时候,运行程序可以根据用户的操作指示进行当前下坠物的控制。而这些操作都是响应相关的功能键而执行的,所以这里可以把它看成一种“中断”的操作。