1、Vb 扫雷课程设计报告 姓名:姓名: 班级:班级: 学号:学号: 难度难度: 知识点:控件数组 绘图 菜单 文本文件的读写 多模块程序设计 资源文件的使用 1.1. 题目题目 “扫雷”是 windows 下的经典小游戏。如下图所示,一个由 M 行 N 列小方格组成的雷 区影藏着 K 颗地雷(M N 和 K 可以事先设置) 。用户根据判断确定哪个方格有雷,哪个方 格无雷。使用鼠标左键单击无雷方格将其翻开会在该方格内显示一个数字(18) ,该数字表 示这个方格周围相邻的 8 个方格内共有多少克雷。 如果左键单击方格内未显示数字, 表示方 格周围没有雷,程序自动将周围的方格翻起直至遇到周围有雷的方格
2、为止。 在方格内数字的提示下,用户判断某个位置有雷,使用鼠标右键单击将有雷方格标记出 来(显示小红旗) 当所有有雷的方格打上了标志,所有无雷的方格都被翻起,表明扫雷成功。如果中途使 用 左 键 单 击 了 有 雷 方 格 , 则 被 “ 炸 死 ” , 扫 雷 失 败 。 功能:功能: (1)启动程序后,显示初始界面,游戏共有 3 种预定义的难度级别,分别是初级(9 行 9 列 10 颗雷) ,中级(16 行 16 列 40 颗雷)和高级(30 行 16 列 99 颗雷) ,通过“游 戏”菜单中的菜单项可以选择不同难度。 使用自定义菜单命令打开自定义对话框,可以自行定义雷区的行数,列数及雷数。
3、 (2)雷区正上方是一个“小脸”图标,不同状态下,小脸显示出微笑,惊讶,痛苦和 胜利等表情。任何情况下单击小脸,可以重新开始游戏。 笑脸左边以 LED(发光二极管)方式显示了当前雷区中未被标记出来的雷数, 右面是游 戏进行的秒数。计时是在用户第一次单机雷区的方块时开始的。 (3)是用右键单击一个方格将其标记为有雷(插上小旗)之后,不能再使用左键 单击它, 但可以再用右键单击。 右键再单机一次方格上显示 “?” 号 (表示暂时不确定) , 再单击第二次,恢复为普通样子。 使用左键可以单机除了标记为有雷之外的所有未翻开的方格(包括标记为“?”号 的) (4) 如果一个方格内显示的数字为 N (18
4、) 且其周围已有 N 个方格被标记为有雷, 这时可以同时单击鼠标左键和右键将方格周围所有的其它格子翻开。这样就不必一个一 个去单击了。 不过,如果标记为有雷的方格中有标记错的,这是会被“炸死” 。 (5)扫雷失败时程序用图标显示所有有雷的位置,并将标记错了的和“炸了的” 用和显示。 (6)扫雷成功时,如果没有打破该难度级别的记录,显示“胜利”消息框;如果破 了纪录,显示输入框提示输入用户名。 通过“扫雷英雄榜”菜单命令可以显示“扫雷英雄榜”对话框,其中列出了预设的 3 个难度级别的记录保持者。 2.2. 框架结构图框架结构图 流程规划大致上可以分为三个部分,分别为:画面初始、游戏者按下第一个方块和为 非地雷方块时展开。画面初始时,以游戏者最后一次设定的地雷区大小为范围画出地雷区, 但此时并未产生地雷。 当游戏者按下第一个方块时产生地雷资料并启动定时器, 为何在游戏 者按下第一个方块才产生地雷资料呢?其主要的用意在于不要让游戏者第一次就踩到地雷, 这样在某种程度上可以提高游戏者游玩的气氛。 接着就是如何判断按下的方块是非地雷时的 处理, 这也是整个