1、 设计题目设计题目:模拟俄罗斯方块 学生姓名学生姓名: 系系 别别: 专专 业业: 班班 级级: 学学 号号: 指导教师指导教师: 2 课课 程程 设设 计计 任任 务务 书书 题目题目 模拟俄罗斯方块模拟俄罗斯方块 程序在文本窗口下输出特定字符模拟游戏俄罗斯方块的运行。程序在文本窗口下输出特定字符模拟游戏俄罗斯方块的运行。 在游戏过程中,每次能随机产生一种方块并自动下落,根据按键在游戏过程中,每次能随机产生一种方块并自动下落,根据按键 控制进行相应的平移、 变形和加速下落。消去满行后, 根据行数累计控制进行相应的平移、 变形和加速下落。消去满行后, 根据行数累计 分分数。分数达到一定值后,等
2、级提升,下落速度加快。游戏区域积满数。分数达到一定值后,等级提升,下落速度加快。游戏区域积满 后,游戏结束。同时能响应退出按键,提示是否退出游戏。后,游戏结束。同时能响应退出按键,提示是否退出游戏。 完完 成成 期期 限:限: 指 导教师签名:指 导教师签名: 课程负责人签名:课程负责人签名: 3 俄罗斯方块的设计与实现俄罗斯方块的设计与实现 第一章 引言 . 4 1.1. 关于题目 4 1.1.1. 题目要求 4 1.1.2. 选题背景 4 1.2. 关于编译软件 . 4 1.3. 关于稳定性. 4 第二章 程序设计 5 2. 主要功能设计. 5 2.1. 程序流程 5 第三章 程序实现 7
3、 3. 类设计声明 7 3.1. view 类 . 7 3.2. squar 类 7 3.3. 主要功能的实现 8 3.3.1. 游戏界面. 8 3.3.2. 生成方块. 9 3.3.3. 方块变形. 9 3.3.4. 方块显示. 10 3.3.5. 障碍判断11 3.3.6. 消行计分. 12 3.3.7. 暂停退出. 13 第四章 程序测试 14 4. 游戏测试 14 总结与体会 15 附录: . 16 4 第一章第一章 引言引言 1.1. 关于题目关于题目 1.1.1. 题目要求题目要求 利用 Microsoft Visual C+编写一个文本窗口下的俄罗斯方块游戏。 要求: (1) 利
4、用类和多文件编写。 (2) 能够记录游戏得分和等级。 (3) 可暂停/继续游戏,使玩家在不愿游戏时退出。 (4) 信息提示时显示颜色变化。 1.1.2. 选题背景选题背景 俄罗斯方块是家喻户晓的益智小游戏, 选择这个题目一是为了将自己的所学知识加以运 用,二是俄罗斯方块是我第一个接触到的游戏,它的实现方法也吸引着我。我希望通过 探索实践去实现它, 在这次学习中从实践和实际的项目中提高自己的编程能力。 因此我 选定了这个题目。 1.2. 关于编译软件关于编译软件 本程序采用Microsoft Visual C+6.0的英文版本进行编译。 VisualC+6.0是Microsoft 公司推出的基于
5、 Windows 操作系统的可视化 C+编程工具,尽管 Microsoft 公司推出 了.NET 平台的集成开发环境,但由于其良好的界面和可操作性,加上支持标准 C/C+ 规范,但仍有相当多的编程人员使用 VisualC+6.0 进行应用系统的开发。 1.3. 关于稳定性关于稳定性 经测试,本程序可以在 windows 操作系统中稳定运行,较为稳定。 5 第二章第二章 程序设计程序设计 2. 主要功能设计主要功能设计 根据分析,俄罗斯方块这个程序一共要实现如下几个功能,开始游戏、游戏的暂停继 续、游戏控制和退出游戏。其中游戏控制最为主要和重要,它控制着整个游戏的画面和 有关数据的操作,是游戏的
6、核心部分。暂停和退出功能做成一体,在退出的提示下不做 任何操作即可实现暂停的功能。程序结构如图 2-1 所示。 图 2-1 程序结构图 2.1. 程序流程程序流程 根据分析后的程序结构图设计出相应的流程图。俄罗斯方块的内容主要包括游戏开始, 画背景和边框, 显示分数等级和下一个方块的预览图; 根据速度没隔一定时间方块自动下落, 当有按键操作时,根据相应按键执行动作,每次动作前要判断是否动作可以执行。下落方块 满一行时,消去该行,根据消去行数得到相应分数。分数达到一定程度,等级提升,速度加 快。同时可以响应 Esc 按键,提示是否退出程序。 6 图 2-2 流程图 7 第三章第三章 程序实现程序实现 3. 类设计声明类设计声明 根据程序的结构,将俄罗斯方块需要实现的功能细化为相应的类成员函数。程序有两 个类,一个 view 类,用于背景相关操作。一个 squar 类,用于方块