1、 课程设计报告课程设计报告 目目 录录 一、课程设计的目的与要求 2 1.1 课程设计的目的 . 2 1.2 课程设计的要求 . 2 二、设计正文. 2 2.1 需求分析 . 2 2.1.1 游戏需求 . 2 2.2.2 游戏界面需求: 2 2.1.3 游戏形状(方块)需求: 2 2.2 算法分析 . 3 2.2.1 程序流程图 3 2.2.2 定义方块的数据结构 4 2.2.3 游戏设计分析 5 三 系统设计 6 3.1 创建界面的主框架 . 6 3.2 正常流程的设计 . 6 3.2.1 定时制机制 6 3.2.2 定时处理 7 4.1 底部到达的判断与销行的实现 8 4.2 中断操作流程
2、的实现 9 4.3 变形的实现 9 4.4 游戏区域绘图的实现 10 4.5 功能的完善 10 4.6 游戏演示 . 11 4.7 主程序源程序清单 12 六、参考文献18 用 VC+实现俄罗斯方块的程序设计 一、课程设计的目的与要求一、课程设计的目的与要求 1.1 课程设计的目的课程设计的目的 综合运用所学知识,熟练掌握 VC+程序设计的编码与 MFC 框架结构 。 1.2 课程设计的要求课程设计的要求 要求用设计与实现俄罗斯方块游戏。要求包括系统的需求分析;系统总框 图及每个模块的设计分析;MFC 应用程序架构;框架的扩展;算法的设计与实现;游 戏的内部实现;游戏区域绘图的实现;系统存在的
3、问题及错误处理;列出所有定义的函 数及说明;附上程序源代码。 二、设计正文二、设计正文 2.1 需求分析需求分析 2.1.1 游戏需求游戏需求 随机给出不同的形状 (长条形、Z 字形、反 Z 形、田字形、7 字形、反 7 形、T 字 型)下落填充给定的区域,若填满一条便消掉,记分,当达到一定的分数时,过关, 设置六关,每关方块下落的速度不同,若在游戏中各形状填满了给定区域,为输者。 游戏功能要求如下: 2.2.2 游戏界面需求游戏界面需求: 良好的用户界面,有关数显示和分数显示。让方块在一定的区域内运动和变形, 该区域用一种颜色表明,既用一种颜色作为背景,最好设为黑色。还需用另一种颜色把 黑色
4、围起来,宽度适中,要实现美感。 2.1.3 游戏形状游戏形状(方块方块)需求需求: 良好的方块形状设计,绘制七种常见的基本图形(长条形、Z 字形、反 Z 形、田字 形、7 字形、反 7 形、T 字型),各个方块要能实现它的变形,可设为顺时针或逆 时 针变形,一般为逆时针。 2.2 算法分析算法分析 2.2.1 程序流程图程序流程图 到 达 底 部 到达底部, 游戏结束 到 达 底 部 结束 销行操作 生成下一个下坠物 将新生的下坠物代替旧的“下一 个下坠物“ 将旧的“下一个下坠物”用作当前 下坠物 销行操作 游戏结束处理 下降一个单位 开始 图 2.2.3 程序运行调用图 2.2.2 定义方块的数据结构定义方块的数据结构 对于方块在某一瞬间的位置标识,我们采用一个4 2的小数组标识出来,即用4个存储单位 空间存储当前下坠物的每一子块的位置,也就是说,用 4 个存储单位空间存储当前下坠物的 每一子块的位置来对整个下坠物件的位置进行标识,而每个存储空间的大小就是一个典的坐 标值(x,y),而每个方块按照从左到右的方式进行编号,并且在编号过程中对于同一列的方块 实行从上到下进