收藏 分享(赏)

VB扫雷小游戏.doc

上传人:精品资料 文档编号:10530302 上传时间:2019-11-26 格式:DOC 页数:4 大小:15.28KB
下载 相关 举报
VB扫雷小游戏.doc_第1页
第1页 / 共4页
VB扫雷小游戏.doc_第2页
第2页 / 共4页
VB扫雷小游戏.doc_第3页
第3页 / 共4页
VB扫雷小游戏.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、VB 扫雷小游戏1.游戏功能分析扫雷小游戏需要做哪些功能呢?在开始游戏后,程序需要根据难度系数自动生成一片雷区,雷区包含少数地雷和多数空地,在规定时间内找出雷区中的所有地雷即可胜利。左键点击地雷会导致游戏失败,并给出所有地雷的位置;右键点击地雷或者空地都会在上面标记一面小旗,但右键点击地雷时,剩余地雷数会-1,而点击空地时不会。每次右键标记地雷后,都要判断剩余地雷数是否为 0,是的话就胜利了。2.控件分析通过以上的游戏功能分析可以得到我们需要用到的控件。在游戏提示方面,我们需要 1 个标签 lblbomb 来显示雷数,1 个标签lbltime 来显示剩余时间,一个 timer1 来计时,1 个

2、按钮 cmdstart 作为开始游戏的按钮。并且把以上控件全放如一个框架 frame1 中。在雷区这里,我们需要 1 个按钮来表示空地,并设置 index 为 0;1个按钮来表示地雷,并设置 index 为 0;一个标签来显示周围地雷数,并设置 index 为 0.在游戏开始后,需要根据游戏难度加载出空地按钮和地雷按钮以及显示周围地雷数得标签按钮下面给出主要控件的名称及主要参数【说明】 【名称】 【index】空地按钮 Cmd0 0地雷按钮 Cmd1 0标签按钮 lblnum 0在调试过程中可以将空地按钮的 caption 设置为 0,地雷按钮的caption 设置为 1,便于调试。3.变量参

3、数分析主要游戏参数:Public level As Integer 游戏难度Public cmdnum As Integer 雷区所有按钮数目Public bombnum As Integer 地雷数目Public timerest As Integer 剩余时间Public matrix() As Integer 雷区矩阵,0 代表空地,1 代表地雷Public bombrest As Integer 剩余地雷数这里我们设置雷区为正方形,此正方形的一条边上有几个按钮,难度就是几,所以有 cmdnum=level2。设置地雷数为按钮总数的七分之一 bombnum=cmdnum7,注意是整除。游

4、戏开始时 bombrest=bombnum。matrix() 是动态数组,在游戏设置难度以后,Redim matrix(level,level)即可,用来储存游戏雷区的情况,为 0 代表是空地,为 1 代表是地雷。主要界面参数:Public lk as Integer 界面周围的留空Public sw as Integer 雷区每个按钮的宽Public sh as Integer 雷区每个按钮的高通过以这三个参数为基底,可以很方便的给出每个按钮的坐标位置。4.功能实现分析主要游戏代码思路:窗体加载时,将 cmd0,cmd1 ,lblnum 设置为不可见,timer1 设置为不可用。点击开始时,

5、首先 inputbox 输入难度系数,若输入数字小于 5,则难度等于 5;若输入数字大于 15,则难度等于 15;输入数字在 5 到15 之间,则难度等于该输入数字。根据 level 求出所有游戏参数信息cmdnum=level2bombnum=cmdnum7bombrest=bombnum设置界面参数 lk=300,sw=600,sh=600,设置剩余时间 timerest=300重定义动态数组 Redim matrix(level,level) ,以及给出每个位置的值,代码如下ReDim matrix(level, level)RandomizeDim r As Integer 随机数Fo

6、r i = 1 To bombnum 在矩阵内放置 bombnum 个 1,其他位置为 0r = Int(cmdnum * Rnd) + 1 随机范围 1 到 cmdnumj = (r - 1) level 根据随机数得到坐标 (j,k)k = (r - 1) Mod levelIf matrix(j, k) 1 Then 如果(j,k)位置未放置地雷,就放上matrix(j, k) = 1Else 已经放置地雷了,则再重来一次i = i - 1End IfNext i对窗体大小的设置Frame1.Left = 0Frame1.Top = 0Frame1.Width = level * sw

7、+ 2 * lkFrame1.Height = 800Form1.Width = level * sw + 2 * lkForm1.Height = level * sh + 2 * lk + Frame1.Height + lk对于控件的加载以及初始设置,首先加载出所需要数量的控件,然后我们需要根据 matrix 的值来一个一个放置控件,并调节控件的属性,比如放置炸弹即 cmd1 的代码如下Dim p1 as Integerp1=0 第 p1 个炸弹For i = 0 To level - 1For j = 0 To level - 1If matrix(i, j) = 1 ThenDim

8、cmd As CommandButton放炸弹Set cmd = Cmd1(p1) cmd.Top = Frame1.Height + lk + i * shcmd.Left = lk + j * swcmd.Width = sw - 20 每个按钮之间留 2*20=40 的空隙,美观cmd.Height = sh - 20cmd.Visible = Truep1=p1+1end ifnext jnext i其他控件放置就由读者自己考虑了,博主也将自己的代码放到了博主资源页,读者可以下载参考对于空地按钮的 MouseDown 事件,如果是左键点击的话,就让它以及它周围的空地按钮成为不可见状态,这样就会将它下面的标签按钮透出,显示周围的地雷数。如果是右键,则标记一面旗子,博主比较懒,没有搞图片,就写个”-F-“上去代表旗子吧对于地雷按钮的 MouseDown 事件,如果是左键的话,就给出所有地雷位置,并提示失败;如果是右键,就标记一面旗子(写个”-F-“) ,并且 bombrest=bombrest-1,判断 bombrest 是否为 0,如果为0 提示胜利。5 结束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报