www.pudn.com > Effect.zip > Form1.frm
VERSION 5.00
Begin VB.Form Form1
AutoRedraw = -1 'True
BackColor = &H00000000&
BorderStyle = 0 'None
Caption = "Form1"
ClientHeight = 2790
ClientLeft = 0
ClientTop = 0
ClientWidth = 3525
LinkTopic = "Form1"
ScaleHeight = 186
ScaleMode = 3 'Pixel
ScaleWidth = 235
ShowInTaskbar = 0 'False
StartUpPosition = 2 'CenterScreen
WindowState = 2 'Maximized
Begin VB.Timer Timer1
Interval = 1000
Left = 225
Top = 225
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Function GetTickCount Lib "Kernel32" () As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Private Type Lightning
PosX As Integer
PosY As Integer
End Type
Private Sub Form_Load()
MsgBox "Click On Screen to End"
End Sub
Private Sub Form_Click()
Unload Me
End
End Sub
Private Sub Timer1_Timer()
Dim RndInt As Integer
Randomize
Make_Lightning
RndInt = Int(Rnd * 10) + 1
Timer1.Interval = RndInt * 250
End Sub
Private Sub Make_Lightning()
Dim i As Integer
Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim D As Integer
Dim E As Integer
Dim PosL As Single
Dim GoLeft As Boolean
Dim B1 As Boolean
Dim B2 As Boolean
Dim B3 As Boolean
B1 = False
B2 = False
B3 = False
If Int(Rnd * 2) + 1 = 1 Then B1 = True
If Int(Rnd * 2) + 1 = 1 Then B2 = True
If Int(Rnd * 2) + 1 = 1 Then B3 = True
i = Form1.Height / 15
ReDim Lightning(i) As Lightning
PosL = Int(Rnd * (Form1.Width / 2)) + (Form1.Width / 5)
B = 0
For A = 1 To i
If B = 0 Then
If Int(Rnd * 2) + 1 = 1 Then
GoLeft = True
Else
GoLeft = False
End If
B = Int(Rnd * 10) + 3
Else
B = B - 1
End If
If GoLeft = True Then
PosL = PosL - 15
Else
PosL = PosL + 15
End If
Select Case Int(Rnd * 10) + 1
Case 1
PosL = PosL - 10
Case 2
PosL = PosL + 10
Case 3
PosL = PosL - 15
Case 4
PosL = PosL + 15
Case 5
PosL = PosL - 20
Case 6
PosL = PosL + 20
End Select
Lightning(A).PosX = PosL / 15
Lightning(A).PosY = A
Next A
C = 0
D = 0
E = 0
For A = 1 To i
SetPixel Form1.hdc, Lightning(A).PosX, Lightning(A).PosY, RGB(255, 255, 255)
SetPixel Form1.hdc, Lightning(A).PosX + 1, Lightning(A).PosY, RGB(255, 255, 200)
SetPixel Form1.hdc, Lightning(A).PosX - 1, Lightning(A).PosY, RGB(255, 255, 200)
SetPixel Form1.hdc, Lightning(A).PosX + 2, Lightning(A).PosY, RGB(255, 255, 100)
SetPixel Form1.hdc, Lightning(A).PosX - 2, Lightning(A).PosY, RGB(255, 255, 100)
SetPixel Form1.hdc, Lightning(A).PosX + 3, Lightning(A).PosY, RGB(255, 255, 0)
SetPixel Form1.hdc, Lightning(A).PosX - 3, Lightning(A).PosY, RGB(255, 255, 0)
If A > Int(i * 0.25) Then
If B1 = True Then
SetPixel Form1.hdc, Lightning(A).PosX + C, Lightning(A).PosY, RGB(255, 255, 255)
SetPixel Form1.hdc, Lightning(A).PosX + C + 1, Lightning(A).PosY, RGB(255, 255, 200)
SetPixel Form1.hdc, Lightning(A).PosX + C - 1, Lightning(A).PosY, RGB(255, 255, 200)
SetPixel Form1.hdc, Lightning(A).PosX + C + 2, Lightning(A).PosY, RGB(255, 255, 100)
SetPixel Form1.hdc, Lightning(A).PosX + C - 2, Lightning(A).PosY, RGB(255, 255, 100)
SetPixel Form1.hdc, Lightning(A).PosX + C + 3, Lightning(A).PosY, RGB(255, 255, 0)
SetPixel Form1.hdc, Lightning(A).PosX + C - 3, Lightning(A).PosY, RGB(255, 255, 0)
C = C + 1
End If
End If
If A > Int(i * 0.5) Then
If B2 = True Then
SetPixel Form1.hdc, Lightning(A).PosX + D, Lightning(A).PosY, RGB(255, 255, 255)
SetPixel Form1.hdc, Lightning(A).PosX + D + 1, Lightning(A).PosY, RGB(255, 255, 200)
SetPixel Form1.hdc, Lightning(A).PosX + D - 1, Lightning(A).PosY, RGB(255, 255, 200)
SetPixel Form1.hdc, Lightning(A).PosX + D + 2, Lightning(A).PosY, RGB(255, 255, 100)
SetPixel Form1.hdc, Lightning(A).PosX + D - 2, Lightning(A).PosY, RGB(255, 255, 100)
SetPixel Form1.hdc, Lightning(A).PosX + D + 3, Lightning(A).PosY, RGB(255, 255, 0)
SetPixel Form1.hdc, Lightning(A).PosX + D - 3, Lightning(A).PosY, RGB(255, 255, 0)
D = D - 1
End If
End If
If A > Int(i * 0.75) Then
If B3 = True Then
SetPixel Form1.hdc, Lightning(A).PosX + E, Lightning(A).PosY, RGB(255, 255, 255)
SetPixel Form1.hdc, Lightning(A).PosX + E + 1, Lightning(A).PosY, RGB(255, 255, 200)
SetPixel Form1.hdc, Lightning(A).PosX + E - 1, Lightning(A).PosY, RGB(255, 255, 200)
SetPixel Form1.hdc, Lightning(A).PosX + E + 2, Lightning(A).PosY, RGB(255, 255, 100)
SetPixel Form1.hdc, Lightning(A).PosX + E - 2, Lightning(A).PosY, RGB(255, 255, 100)
SetPixel Form1.hdc, Lightning(A).PosX + E + 3, Lightning(A).PosY, RGB(255, 255, 0)
SetPixel Form1.hdc, Lightning(A).PosX + E - 3, Lightning(A).PosY, RGB(255, 255, 0)
E = E + 1
End If
End If
Next A
Form1.Refresh
'DoEvents
Select Case Int(Rnd * 3) + 1
Case 1
Delay 25
Case 2
Delay 50
Case 3
Delay 75
End Select
Form1.Cls
C = 0
D = 0
E = 0
For A = 1 To i
SetPixel Form1.hdc, Lightning(A).PosX, Lightning(A).PosY, RGB(255, 255, 255)
If A > Int(i * 0.25) Then
If B1 = True Then
SetPixel Form1.hdc, Lightning(A).PosX + C, Lightning(A).PosY, RGB(255, 255, 255)
C = C + 1
End If
End If
If A > Int(i * 0.5) Then
If B2 = True Then
SetPixel Form1.hdc, Lightning(A).PosX + D, Lightning(A).PosY, RGB(255, 255, 255)
D = D - 1
End If
End If
If A > Int(i * 0.75) Then
If B3 = True Then
SetPixel Form1.hdc, Lightning(A).PosX + E, Lightning(A).PosY, RGB(255, 255, 255)
E = E + 1
End If
End If
Next A
Form1.Refresh
'DoEvents
Select Case Int(Rnd * 3) + 1
Case 1
Delay 5
Case 2
Delay 10
Case 3
Delay 15
End Select
Form1.Cls
End Sub
Private Sub Delay(ByVal Delay As Long)
Dim Start As Long
Dim Elapsed As Long
Start = GetTickCount
Do
DoEvents
Elapsed = GetTickCount
Loop Until (Elapsed - Start) >= Delay
End Sub