介绍一个VB小的有趣的程序代码

介绍一个VB小的有趣的程序代码,第1张

'万花筒程序

'粘贴下面代码即可, 不用添加任何控件

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11537309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存