VB扫雷小游戏

VB扫雷小游戏

ID:46767546

大小:15.29 KB

页数:4页

时间:2019-11-27

VB扫雷小游戏_第1页
VB扫雷小游戏_第2页
VB扫雷小游戏_第3页
VB扫雷小游戏_第4页
资源描述:

《VB扫雷小游戏》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

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

3、于调试。3.变量参数分析主要游戏参数:PubliclevelAsInteger'游戏难度PubliccmdnumAsInteger'雷区所有按钮数目PublicbombnumAsInteger'地雷数目PublictimerestAsInteger'剩余时间Publicmatrix()AsInteger'雷区矩阵,0代表空地,1代表地雷PublicbombrestAsInteger'剩余地雷数这里我们设置雷区为正方形,此正方形的一条边上有几个按钮,难度就是几,所以有cmdnum=level^2。设置地雷数为按钮总数的七分之一bombnum=cmd

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

5、mer1设置为不可用。点击开始时,首先inputbox输入难度系数,若输入数字小于5,则难度等于5;若输入数字大于15,则难度等于15;输入数字在5到15之间,则难度等于该输入数字。根据level求出所有游戏参数信息cmdnum=level^2bombnum=cmdnum7bombrest=bombnum设置界面参数lk=300,sw=600,sh=600,设置剩余时间timerest=300重定义动态数组Redimmatrix(level,level),以及给出每个位置的值,代码如下ReDimmatrix(level,level)Random

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

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

8、(p1)cmd.Top=Frame1.Height+lk+i*shcmd.Left=lk+j*swcmd.Width=sw-20'每个按

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。