vb小游戏代码Word格式文档下载.docx
《vb小游戏代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《vb小游戏代码Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
a(i)=i
Next
k=Int(Rnd*8)
DoWhilea(k)=-1'
a(k)二-1表示该数组元素对应的数字已经被使用过了
k=Int(Rnd*8)'
重新生成k的值,直到d(k)的值不等于-1
Loop
Label2(i).Caption=Trim(Str(a(k)))
a(k)=-1'
a(k)的值已经使用了,不能再用,重新赋值为-1与其他的元素值相区别
Nexti
EndSub
PrivateSubCommandl_Click()
DimxAsInteger,yAsInteger
DimzAsInteger
Init
Picturel・Enabled=True
让空白标签Label1出现的位置随机
记录下空白标签Labell的位置
x=Label1.Left
y=Label1.Top
z=Int(Rnd*8)
将空白标签Label1和标签控件数组任一控件交换位置
Label1.MoveLabel2(z)・Left,Label2(z)・Top
Label2(z)・Movex,y
Command1・Enabled=False
PrivateSubCommand2_Click()
End
PrivateSubForm_Load()
DimiAsInteger
Picture1.Enabled=False
在标签中显示游戏说明信息
Label3.Caption="
如左图所示,将数字按0-7顺"
&
vbCrLf&
序依次排列,即取得胜利。
“
在标签中显示排列规则后的数字顺序
Label1.Caption=0
Fori=0To6
Labe12(i)・Caption=i+1
PrivateSubLabell_DragDrop(SourceAsControl,xAsSingle,yAs
Single)
DimLabellXAsInteger'
记录空白控件Label1左上角X的位置
DimLabellYAsInteger'
记录空白控件Labell左上角Y的位置
Dimflag(3)AsBoolean
获取空口控件Label1的位置
LabellX=Label1.Left
LabellY=Label1・Top
要移动的控件位于空白控件Labell的正左侧
flag(O)=(Label2X=LabelIX-Source.Width)And(Label2Y=Label1Y)
要移动的控件位于空白控件Labell的正右侧
flag(l)=(Label2X=LabellX+Source.Width)And(Label2Y=Label1Y)
要移动的控件位于空白控件Labell的正上方
flag
(2)=(Label2X=LabellX)And(Label2Y=Label1Y-Source.Height)
要移动的控件位于空白控件Labell的正下方
flag(3)=(Label2X=LabellX)And(Label2Y=Label1Y+Source.Height)
Ifflag(0)Orflag(l)Orflag
(2)Orflag(3)Then
Labell.MoveLabel2X,Label2Y
Source.MoveLabellX,LabellY
EndIf
Win
PrivateSubLabel2_MouseDown(IndexAsInteger,ButtonAsInteger,
ShiftAsInteger,xAsSingle,yAsSingle)
IfButton=vbLeftButtonThen'
如果按下鼠标左键
记录下要拖动控件的位置
Label2X=Label2(Index).Left
Label2Y=Label2(Index).Top
Label2(Index).Drag1'
启动拖动操作
PrivateSubLabel2_MouseUp(IndexAsInteger,ButtonAsInteger,
Label2(Index).Drag2'
结束拖动操作
PrivateSubWin()
DimwinnerAsInteger
DimanswerAsInteger
对于给定的标签控件数组中的任一标签控件,可以落在符合要求(对应位置应显示对应数字)
的八个位置中的任一位置
利用循环语句对标签控件数组中的每个标签控件进行检查,如果其落在某一符号要求的位置,
则变量winner的值加1,如果所有标签控件都落在符号要求的位置,则变量winner的值应为8
IfLabel2(i).Left=0AndLabel2(i).Top=0And_
Labe12(i)・Caption=0Then
winner=winner+1
ElselfLabel2(i).Left=Label2(i).WidthAndLabel2(i).Top=0And_
Labe12(i)・Caption=1Then
And
Labe12(i)・Caption=2Then
ElselfLabel2(i).Left=0AndLabel2(i).Top=Label2(i).HeightAnd_
Labe12(i)・Caption=3Then
ElselfLabel2(i).Left=Label2(i).WidthAndLabel2(i).Top=
Label2(i).HeightAnd_
Labe12(i)・Caption=4Then
ElselfLabel2(i).Left=2*Label2(i).WidthAndLabel2(i).Top=
Label2(i)・Caption=5Then
ElselfLabel2(i).Left=0AndLabel2(i).Top=2*Label2(i).Height
And_
Labe12(i)・Caption=6Then
ElselfLabel2(i).Left=Label2(i).WidthAndLabel2(i).Top=2*
Labe12(i)・Caption=7Then
Ifwinner=8Then
MsgBox”恭喜您,胜利了〜:
0+64+0,〃提示〃
answer=MsgBox("
还继续吗,:
4+32+0,提示"
)
Ifanswer=vbYesThen
Command1・Enabled=True
Else
弹球游戏
Dimx_stepAsInteger
Dimy_stepAsInteger
PrivateSubcommandl_Click()
IfTimer1.Enabled=TrueThen
Timer1・Enabled=FalseElse
Timer1.Enabled=TrueEndIf
Ifcommandl.Caption="
暂停"
Then
commandl.Caption="
继续"
PrivateSubForm_Load()x_step=200
y_step=200
PrivateSubPicturel_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=37Then
IfLinel.XI<
0Then
Linel.Xl=0:
Linel.X2=2000
Linel.Xl二Linel.Xl-100:
Linel.X2二Linel.X2-100
IfKeyCode=39Then
IfLinel.XI>
Picturel.WidthThen
Linel.Xl=Picturel.Width-2000:
line2.X2=Picture.Width
Linel.Xl二Linel.Xl+100:
Linel.X2二Linel.X2+100
IfShape1・Top<
Shape1・Top=0:
y_step=-y_step
IfShape1.Left<
Shape1・Left=0
x_step=一x_step
IfShape1.Left>
Picture1.Width一Shape1.WidthThen
Shape1.Left=Picture1.Width一Shape1.Width
=Line1.XIAndShape1.Left<
=Linel・X2And
Shape1.Top>
=Line1.Y1一Shape1・HeightThen
Shape1.Top=Line1.Y1