扫雷游戏设计代码VB完善版Word文档格式.docx

上传人:b****2 文档编号:15080461 上传时间:2022-10-27 格式:DOCX 页数:11 大小:474.44KB
下载 相关 举报
扫雷游戏设计代码VB完善版Word文档格式.docx_第1页
第1页 / 共11页
扫雷游戏设计代码VB完善版Word文档格式.docx_第2页
第2页 / 共11页
扫雷游戏设计代码VB完善版Word文档格式.docx_第3页
第3页 / 共11页
扫雷游戏设计代码VB完善版Word文档格式.docx_第4页
第4页 / 共11页
扫雷游戏设计代码VB完善版Word文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

扫雷游戏设计代码VB完善版Word文档格式.docx

《扫雷游戏设计代码VB完善版Word文档格式.docx》由会员分享,可在线阅读,更多相关《扫雷游戏设计代码VB完善版Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

扫雷游戏设计代码VB完善版Word文档格式.docx

Ifd(i,j)=1Then'

判断是否点到地雷'

Timer1.Enabled=False'

关闭计时器,游戏结束'

Fori=1To10

Forj=1To10

n=10*(i-1)

m=j-1

Ifd(i,j)=1Then

Command1.Item(m+n).Picture=LoadPicture(App.Path&

"

\2.jpg"

)'

在按钮上显示地雷图片'

EndIf

Form1.Show'

弹出子窗体1(判断输赢)'

Nextj

Nexti

Else

Ifv(Index)=Index+1Then'

判断是否插上红旗或是问号图片'

Command1.Item(Index).Picture=LoadPicture()'

清除图片'

Command1.Item(Index).Caption=f(i,j)'

调用函数,显示周围地雷数'

Command1.Item(Index).Enabled=False'

将按钮设为不可用'

Label7.Caption=Val(Label7.Caption)+1

v(Index)=0

h=s(i,j)'

调用函数,显示周围的情况(边界)'

ForY=0To99

Ifv(Y)=Y+1Then

Command1.Item(Y).Enabled=True'

如果是按钮插上了红旗则将按钮设置为可用'

NextY

Fork=0To99

IfCommand1.Item(k).Enabled=FalseThen

p=p+1'

统计扫过的按钮个数'

Ifp=90Then

ForY=0To100

v(Y)=0

NextY'

将数组v的元素重新置0(此步目的为实现重玩而设)'

Form2.Show'

如果等于90个则结束游戏,弹出子窗体2(赢了)'

Nextk

EndSub

PrivateSubCommand1_MouseUp(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

IfButton=2Then'

右击鼠标'

Ifv(Index)<

>

Index+1Then'

判断是否已插上红旗'

Command1.Item(Index).Picture=LoadPicture(App.Path&

\1.jpg"

插上红旗'

v(Index)=Index+1'

给数组元素赋值,以此实现按钮图片的切换或显示状态'

Label7.Caption=Val(Label7.Caption)-1'

在标签7中显示插上的红旗个数'

\3.jpg"

将问号图片替换红旗'

EndIf

Fori=1To10

Ifv(m+n)=m+n+1Thenc=c+1

Ifc=10Then

 

PrivateSubForm_Load()

k=0

d(i,j)=0'

将数组元素置0'

Nexti

DoWhilen<

10

Randomize

i=Int(10*Rnd+1)

j=Int(10*Rnd+1)

Ifd(i,j)=0Thend(i,j)=1:

n=n+d(i,j)'

产生十个随机数,即相当于十个地雷'

Loop

Form10.Label7.Caption=10

Form10.Label2.Caption=0

Form10.Label3.Caption=0

Functionf(i,j)'

定义一个函数求一个区域周围地雷的个数'

f=f+d(i-1,j-1)+d(i-1,j)+d(i-1,j+1)+d(i,j-1)

f=f+d(i,j+1)+d(i+1,j-1)+d(i+1,j)+d(i+1,j+1)

EndFunction

Functions(i,j)'

定义一个函数显示点击区域周围的情况(即边界)'

Command1.Item(Y).Enabled=False'

如插上了红旗,则将按钮先设为不可用'

Iff(i,j)<

0Then'

函数嵌套,调用函数判断周围是否无地雷'

Command1.Item(m+n).Picture=LoadPicture()

Command1.Item(n+m).Caption=f(i,j)

Command1.Item(n+m).Enabled=False'

清除图片,显示地雷数,设置按钮不可用'

Fora=i-1Toi+1

Forb=j-1Toj+1

Ifa<

0Andb<

11Anda<

11Andb<

0Then

n=10*(a-1)

m=b-1

IfCommand1.Item(n+m).Enabled=TrueThen

Command1.Item(n+m).Caption=f(a,b)

h=s(a,b)'

调用函数本身,即实现递归'

Nextb

Nexta

PrivateSubTimer1_Timer()'

设计一个计时器'

Label2.Caption=Val(Label2.Caption)+1

Label3.Caption=Val(Label2.Caption)\60+Val(Label3.Caption)

Label2.Caption=Val(Label2.Caption)Mod60

2、子窗体一(form1)界面如下:

子窗体一(form1)的代码:

PrivateSubCommand1_Click()

UnloadForm10

Unloadform1

Form10.Show

PrivateSubCommand2_Click()

UnloadForm10

Unloadform1

PrivateSubCommand3_Click()

Fori=0To99

Form10.Command1.Item(i).Picture=LoadPicture()

Form10.Command1.Item(i).Caption="

"

Form10.Command1.Item(i).Enabled=True

3、子窗体(form2)界面如下:

子窗体二(form2)的代码:

Unloadform2

Form10.Command1.Item(i).Picture=LoadPicture()

Form10.Command1.Item(i).Caption="

Form10.Command1.Item(i).Enabled=True

注释:

共三个窗体(这里是form10、form1、form2)、三个标签(这里是label2、label3、label7)设计时,根据具体的情况对应修改即可。

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1