俄罗斯方块详细设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件名称俄罗斯方块软件概要说明书项目名称俄罗斯方块
修改记录
版本ECN/修改内容制定/日期审核/日期批准/日期
1.0 1.1 1.2 1.3
1.4
2.1 画小方块
随机生成方块
方块的控制、预览
消行,得分,重新游戏
添加图片,添加音乐
美化界面,消除BUG
2015-11-26
2015-11-27
2015-11-28
2015-11-29
2015-11-30
2015-12-6
存档方式 电子文档 纸文档□其它:拟制审核批准
日期日期日期
摘要
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式根据其目的可分为三种类型:创建型模式、结构型模式和行为型模式,共有23种。
本文将结合其中的几个设计模式阐述俄罗斯方块游戏的基本设计思想。
俄罗斯方块(Tetris, 俄文:Тетрис)是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。
一. 绪论 (4)
1. 俄罗斯方块游戏简介 (4)
2. 俄罗斯方块游戏规则 (4)
二. 需求分析与游戏设计 (5)
1. 游戏界面 (5)
2. 方块控制 (6)
3. 图形显示 (6)
三、模块设计 (6)
1. 开始模块 (6)
2. 方块的生成 (7)
3. 方块的控制 (8)
4. 方块的预览 (9)
5. 消行、计分 (10)
一. 绪论
1. 俄罗斯方块游戏简介
原本是前苏联科学家阿列克谢·帕基特诺夫所开发的教育用软件,之后开始提供授权给各个游戏公司,造成各平台上软件大量发行的现象。
Game Boy版的俄罗斯方块在日本卖出424万套,是Game Boy史上卖最好的游戏。海湾战争时,也是前线美军最常拿消磨时间的游戏之一。
由于俄罗斯方块具有的数学性、动态性与知名度,也经常拿来作为游戏程序设计的练习题材。
俄罗斯方块曾经造成的轰动与带来的经济价值,可以说是世界游戏史上的一个奇迹。它看似简单却又变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得“茶不思饭不想”的那个俄罗斯方块时代。
俄罗斯方块上手极其简单,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游戏都无法相比的。
2. 俄罗斯方块游戏规则
1.游戏主画面在一个用于摆放方块的面板上
2.(1)一组由4个小型正方形组成的规则图形(即方块)共有7种形状,分别为一字形、田字形、7字形、反7形、Z形、反Z形、T形。
(2)一字形:一次最多消除四层
田字形:消除一至二层
7字形:最多消除三层,或消除二层
反7形:最多消除三层,或消除二层
Z形:最多二层,容易造成孔洞
反Z形:最多二层,容易造成孔洞
T形:最多二层
3. 方块从区域上方开始下落,玩者可以按指定按钮左右移动方块、逆时针旋转方块,以及让方块加速落下。
4. 方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的方块出现在区域上方开始落下。
5. 当区域中某一行横向格子全部由方块填满,则该列会消失,玩家得分。
6. 当固定的方块累积堆到一定层数(设计游戏时设置)时,游戏结束。
7. 游戏分为初级、中级、高级三关。
8. 游戏会提示下一个要落下的方块形状,并随着游戏的进行而加速提高难度。
二. 需求分析与游戏设计
1. 游戏界面
良好的用户界面设计。本游戏主要有三个界面,一是主游戏区的面板,显示变化和下落的方块;二是用于放置按钮以及显现游戏信息的面板,三是双人对战时用以显示对方游戏信息的面板。
2. 方块控制
方块下落时,可通过特定按钮对该方块进行翻转、加速,以及向左、向右移动等操作。
3. 图形显示
随机给出不同的形状(一字形、田字形、7字形、反7形、Z形、反Z形、T 形),下落填充给定的区域,填满一行则消掉记分,当达到一定的分数时过关,共设置五关。每关方块下落的速度不同,方块累积到一定层数无法再消去行时游戏结束。
三、模块设计
1. 开始模块
a.文件导入
序号文件名描述备注
1graphics.h 头文件
b.结构定义
序号结构名描述备注
1Block 坐标、方向、类型、颜色
c.变量定义
序号变量名类型
描述
备注
1Color、Type、Dirct 整形联系人的信息
2IMAGE、MOUSE等整形图片、鼠标
3GAME_WIDTH、GAME_HIGHT等整形游戏区域
d.函数定义
序号函数名返回值参数描述备注
1 main void 无主函数
2 isOver void 无判断是否结束
3 initGame void 无游戏区域
2. 方块的生成
a.文件导入
序号文件名描述备注
1 graphics.h 头文件
2 conio.h 头文件
3 time.h 头文件
b.变量定义
序
号
变量名类型描述备注
1 BlockType 字符型方块的类型
2 BLOCKSIZE 整形小方块的大小