'粘贴下面代码即可, 不用添加任何控件
Private WithEvents Timer1 As Timer
Dim r&, r1&, t&, a1!, a2!, xb!, yb!, s!, b#
Private Sub Form_Load()
Me.Width = 4500: Me.Height = 4500
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
Me.AutoRedraw = True
Me.Caption = "CBM666的万花筒"
Set Timer1 = Controls.Add("vb.timer", "Timer1")
Timer1.Interval = 10
End Sub
Private Sub Timer1_Timer()
Randomize
r = 340 * Rnd
If r <> 0 Then
r1 = 500
s = r * Rnd
b = RGB(256 * Rnd, 256 * Rnd, 256 * Rnd)
For t = 1 To 10000
a1 = t * 3.1415926 / 180
a2 = (r1 / r) * a1
xb = 500 + (-(r1 - r) * Cos(a1) - s * Cos(a2 - a1) + 420) * 4
yb = 500 + ((r1 - r) * Sin(a1) - s * Sin(a2 - a1) + 380) * 4
Me.PSet (xb, yb), b
Next t
End If
End Sub
'添加一个名为label1的标签控件,并将其index设为0;再添加一个名为command1的按钮控件Dim a(1 To 9) As Boolean
Dim win As Boolean, begin As Boolean, haveload As Boolean, start As BooleanPrivate Sub Command1_Click()
start = True: begin = False
For i = 1 To 9
a(i) = False
Next i
Form_Load
End SubPrivate Sub Form_Load()
a(9) = True
Label1(0).Visible = False
Me.Height = 4400
Me.Width = 4000
Scale (0, 0)-(3, 3.3)
If haveload = False Then
haveload = True: start = True
Command1.Top = 3: Command1.Left = 2
Command1.Width = 1: Command1.Height = 0.3
Command1.Caption = "开始"
For i = 1 To 9
Load Label1(i)
Next i
End If
For i = 1 To 9
Label1(i).Height = 1
Label1(i).Width = 1
Label1(i).Visible = True
Label1(i).Top = (i - 1) \ 3
Label1(i).Left = (i - 1) Mod 3
Label1(i).Caption = Str(i)
Label1(i).BackColor = QBColor(i)
Label1(i).FontBold = True
Label1(i).FontSize = 40
Next i
Label1(9).Caption = "": Label1(9).BackColor = vbWhite
Randomize
For i = 1 To 500
r% = Int(9 * Rnd) + 1
Call Label1_Click(r)
Next i
begin = True
End SubPrivate Sub Label1_Click(index As Integer)
Dim x1 As Integer, y1 As Integer
If start = True Then
If a(index) = False Then
x1 = (index - 1) Mod 3: y1 = (index - 1) \ 3
If x1 - 1 >-0.2 Then
If a(x1 + y1 * 3) = True Then Call yidong(x1 + y1 * 3, index)
End If
If x1 + 1 <2.2 Then
If a(x1 + y1 * 3 + 2) = True Then Call yidong(x1 + y1 * 3 + 2, index)
End If
If y1 - 1 >-0.2 Then
If a(x1 + 1 + (y1 - 1) * 3) = True Then Call yidong(x1 + (y1 - 1) * 3 + 1, index)
End If
If y1 + 1 <2.2 Then
If a(x1 + 1 + (y1 + 1) * 3) = True Then Call yidong(x1 + 1 + (y1 + 1) * 3, index)
End If
End If
win = True
For i = 1 To 8
If Val(Label1(i).Caption) <>i Then win = False
Next i
If win = True And begin = True Then MsgBox ("恭喜你成功了"): begin = False: start = False
End If
End Sub
Sub yidong(x, index)
Label1(0).Caption = Label1(index).Caption
Label1(index).Caption = Label1(x).Caption
Label1(x).Caption = Label1(0).Caption
a(index) = True: a(x) = False
Label1(0).BackColor = Label1(index).BackColor
Label1(index).BackColor = Label1(x).BackColor
Label1(x).BackColor = Label1(0).BackColor
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)