vb小游戏代码[新版].docVIP

  • 3
  • 0
  • 约8.21千字
  • 约 15页
  • 2023-12-08 发布于浙江
  • 举报

vb小游戏代码[新版]

数字排序小游戏

OptionExplicit

DimLabel2XAsInteger记录标签控件数组中要移动的标签控件左上角X的位置

DimLabel2YAsInteger记录标签控件数组中要移动的标签控件左上角Y的位置

让标签数组中的每个标签控件上显示的数字是随机的,无重复的PrivateSubInit()

Randomize

Dima(7)AsInteger

DimiAsInteger,kAsInteger

Label1.Caption=

Fori=0To7

a(i)=i

Next

Fori=0To7

k=Int(Rnd*8)

DoWhilea(k)=-1a(k)=-1表示该数组元素对应的数字已经被使用过了

k=Int(Rnd*8)重新生成k的值,直到a(k)的值不等于-1

Loop

Label2(i).Caption=Trim(Str(a(k)))

a(k)=-1a(k)的值已经使用了,不能再用,重新赋值为-1与其他的元素值相区别

Nexti

EndSub

PrivateSubCommand1_Click()

DimxAsInteger,yAsInteger

DimzAsInteger

Init

Picture1.Enabled=True

让空白标签Label1出现的位置随机

Randomize

记录下空白标签Label1的位置

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

EndSub

PrivateSubCommand2_Click()

End

EndSub

PrivateSubForm_Load()

DimiAsInteger

Picture1.Enabled=False

在标签中显示游戏说明信息

Label3.Caption=如左图所示,将数字按0-7顺vbCrLfvbCrLf序依次排列,即取得胜利。

在标签中显示排列规则后的数字顺序

Label1.Caption=0

Fori=0To6

Label2(i).Caption=i+1

Next

EndSub

PrivateSubLabel1_DragDrop(SourceAsControl,xAsSingle,yAsSingle)

DimLabel1XAsInteger记录空白控件Label1左上角X的位置

DimLabel1YAsInteger记录空白控件Label1左上角Y的位置

Dimflag(3)AsBoolean

获取空白控件Label1的位置

Label1X=Label1.Left

Label1Y=Label1.Top

要移动的控件位于空白控件Label1的正左侧

flag(0)=(Label2X=Label1X-Source.Width)And(Label2Y=Label1Y)

要移动的控件位于空白控件Label1的正右侧

flag(1)=(Label2X=Label1X+Source.Width)And(Label2Y=Label1Y)

要移动的控件位于空白控件Label1的正上方

flag(2)=(Label2X=Label1X)And(Label2Y=Label1Y-Source.Height)

要移动的控件位于空白控件Label1的正下方

flag(3)=(Label2X=Label1X)And(Label2Y=Label1Y+Source.Height)

Ifflag(0)Orflag(1)Orflag(2)Orflag(3)Then

Label1.MoveLabel2X,Label2Y

Source.MoveLabel1X,Label1Y

EndIf

Win

EndSub

PrivateSubLabel2_MouseDown(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,xAsSingle,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档