1、课程设计说明书 第 1 页 共 25 页 1 1 需求分析需求分析 1.1 1.1 设计背景设计背景 几乎每个人都玩过这个游戏, 也是人们接触最多的一款游戏, 诺基亚手机的流行使它 成为大家随手就能玩的经典游戏,它一直为大家所爱,以前的俄罗斯方块程序都是采用的 是黑白色,颜色单调乏味,现如今彩屏技术的成熟运用,更使这款小游戏的种类变化到无 法统计,画面更加炫丽,功能更加完善,玩法也是层出不穷。在当今色彩斑斓的信息时代 不能在在颜色方面吸引更多的玩家,特别是喜欢画面鲜艳的小朋友的注意,这就意味着将 失去很多的市场,鉴于此编写一个变换颜色的方块就可以符合广大玩家对色彩的需求。 1.2 1.2 设计
2、目的设计目的 尽管这是一项十分成熟的技术, 但是对于汇编程序的初学者来说还是值得学习的, 因为 这款经典的小游戏包含了对计时、功能键、图像显示、背景音乐、逻辑跳转等众多的编程基 础技术,具有代表性意义。 按照汇编语言程序设计的基本原理,综合运用所学的知识,以小组为单位,设计开发一 个小型的俄罗斯方块。通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使 学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使 学生能深入理解和灵活掌握教学内容。 1.3 1.3 设计内容设计内容 方块移动、旋转;显示分数;参数设置;菜单功能;文件操作。 1.41.4 设计要求设计
3、要求 (1)方块左右移动、落下、旋转; (2)显示分数、游戏进行时间和当前时间日期; (3)参数设置:如修改功能键、音乐、改变颜色、速度、屏幕分辨率等; (4)菜单功能:如开始、结束、暂停、设置环境参数等; (5)文件操作:读文件、写文件等(如环境和参数设置等) ; (6)预先显示下一个方块; 2 2 设计方案设计方案 2.1 2.1 设计思想设计思想 玩家在开始游戏前会选择游戏难度级别,难度通过方块下落的速度分为快、中、慢三 类。以中为例,进入游戏之后方块开始掉落,每种方块的颜色都不同,但其在移动、变形等 课程设计说明书 第 2 页 共 25 页 操作时只改变形状, 不改变颜色, 每个方块下
4、落开始同时右上方会显示下一个要掉落的方块 及其颜色; 当方块不能再落下, 即与已落下的方块堆在一起时颜色会变为和之前落下的方块 一样的颜色,表明这个方块已不能操作,此时分数加 1;若某一行堆满,则消去这一行,此 时分数加 10,;这期间方块下落一行,每消除一行都有声音提示。当方块不能再掉下时,游 戏结束,按任意键结束游戏。 2.2 2.2 设计模块设计模块 对俄罗斯方块游戏项目计划划分为四个模块,分别为初始化设置和窗口函数相关模块、 绘制表格模块、方块左右移动旋转模块、方块下落模块。其中绘制表格模块、方块左右移动 旋转模块、方块下落模块是先决条件。在该模块完成的基础上,初始化设置和窗口函数相关
5、 模块才能得以实现。 对初始化设置和窗口函数相关模块: 该模块实现对全局变量的初始化, 对窗口中菜单进 行设置。窗口函数则实现对窗口类的注册,生成窗口,以及对窗口事件的处理。其具体功能 的实现是要用的其他功能模块的子程序。 该模块还需要实现背景音乐、游戏等级、方块背景色更改等附加功能。 3 3 详细设计详细设计 3.1 3.1 程序设计流程图程序设计流程图 无异常 无 有异常 选择 绘制界面 游戏结束 开始 显示下落方块, 背景音乐 键盘控制 方块移动 检查满行、删除满行、重绘界面 图 3.1 系统流程图 课程设计说明书 第 3 页 共 25 页 3.2 3.2 程序参数说明程序参数说明 表
6、3.1 程序参数表 参数名称 参数说明 PAD 方块的形状 COLOR 方块的颜色 STARTMSG 主界面显示内容 ENDMSG 结束界面显示内容 SCOREMSG 小窗口显示内容 DELAY 用于延时 SOUND 声音 WAITF 用于延时 3.3 3.3 程序源代码程序源代码 DA TA SEGMENT SEGMENT1C DW 0 OFF1C DW 0 BOARD DW 24 DUP(?),0FFFFH Y DB ? TY DB ? XR DB ? XL DB ? NOW DB ? DIRE DB ? NXT DB ? TIM DB 0 SPEED DB 0 CON DB 0 DV DB 0 FLG DB 0 PAD DW 0H,3C0H,0H,0H ;第 1 个方块形状(长条) DW 100H,100H,100H,100H DW 0H,3C0H,0H,0H DW 100H,100H,100H,100H DW 0H,180H,180H,0H ;第 2