📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
BackColor = &H80000008&
BorderStyle = 0 'None
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 0
ClientTop = 0
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 213
ScaleMode = 3 'Pixel
ScaleWidth = 312
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows Default
WindowState = 2 'Maximized
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit '强制变量声明
'定义常数
Private Theta
Private Const PI As Double = 3.14159265358979
Private Const Inc = PI / 180
'定义显示点,共11×120个
Private ParticleX(0 To 120) As Long
Private ParticleY(0 To 120) As Long
Private Trail1X(0 To 120) As Long
Private Trail1Y(0 To 120) As Long
Private Trail2X(0 To 120) As Long
Private Trail2Y(0 To 120) As Long
Private Trail3X(0 To 120) As Long
Private Trail3Y(0 To 120) As Long
Private Trail4X(0 To 120) As Long
Private Trail4Y(0 To 120) As Long
Private Trail5X(0 To 120) As Long
Private Trail5Y(0 To 120) As Long
Private Trail6X(0 To 120) As Long
Private Trail6Y(0 To 120) As Long
Private Trail7X(0 To 120) As Long
Private Trail7Y(0 To 120) As Long
Private Trail8X(0 To 120) As Long
Private Trail8Y(0 To 120) As Long
Private Trail9X(0 To 120) As Long
Private Trail9Y(0 To 120) As Long
Private Trail10X(0 To 120) As Long
Private Trail10Y(0 To 120) As Long
'定义粒子X、Y向的增量变量
Private Dx(0 To 120) As Long
Private Dy(0 To 120) As Long
'定义循环变量和最大值
Private i As Integer
Private iMax As Integer
'定义淋浴式喷射时的布尔型变量
Private Shower(0 To 120) As Boolean
'定义反弹变量和反弹次数
Private Bounces(0 To 120) As Long
Private BounceNumber As Integer
Public Ro As Integer
Public Vel
Private Mode4 As Integer
'定义鼠标的X、Y坐标
Private MouseX As Long
Private MouseY As Long
Private PointX As Long
Private PointY As Long
Private Sub Form_Load()
Show
iMax = 120
i = 0
Mode4 = 0
BounceNumber = 5
If GetSetting("saver", "setup", "Color", "") = "" Then
Color = 8
Else
Color = Val(GetSetting("saver", "setup", "Color", ""))
End If
If GetSetting("saver", "setup", "Performance", "") = "" Then
Performance = 1
Else
Performance = Val(GetSetting("saver", "setup", "Performance", ""))
End If
If GetSetting("saver", "setup", "Mode", "") = "" Or GetSetting("saver", "setup", "Mode", "") = "-1" Then
Mode = 0
Else
Mode = Val(GetSetting("saver", "setup", "Mode", ""))
End If
Do
DoEvents
i = i + 1
If i >= iMax Then
i = 0
End If
Dy(i) = Dy(i) + 1
'update trails
Trail10X(i) = Trail9X(i)
Trail10Y(i) = Trail9Y(i)
Trail9X(i) = Trail8X(i)
Trail9Y(i) = Trail8Y(i)
Trail8X(i) = Trail7X(i)
Trail8Y(i) = Trail7Y(i)
Trail7X(i) = Trail6X(i)
Trail7Y(i) = Trail6Y(i)
Trail6X(i) = Trail5X(i)
Trail6Y(i) = Trail5Y(i)
Trail5X(i) = Trail4X(i)
Trail5Y(i) = Trail4Y(i)
Trail4X(i) = Trail3X(i)
Trail4Y(i) = Trail3Y(i)
Trail3X(i) = Trail2X(i)
Trail3Y(i) = Trail2Y(i)
Trail2X(i) = Trail1X(i)
Trail2Y(i) = Trail1Y(i)
Trail1X(i) = ParticleX(i)
Trail1Y(i) = ParticleY(i)
Select Case Performance
Case 1
Dx(i) = Int(Rnd * 5) - 2.4
Case 2
Dx(i) = 1
Case 3
Dx(i) = -1
Case 4
Dx(i) = Sin(Dy(i)) * 10
Case 5
Dx(i) = Sin(Dy(i)) * Dy(i)
Case 6
If Shower(i) = False Then
Dx(i) = (Int(Rnd * 50) - 24) / 2
Shower(i) = True
End If
Case 7
If Shower(i) = False Then
Theta = Inc * (360 / iMax) * (iMax - i) + 10
Dx(i) = Sin(Theta) * 10
Dy(i) = Cos(Theta) * 50
Shower(i) = True
End If
End Select
If (ParticleX(i) > ScaleWidth Or ParticleX(i) < 0) Then
Dx(i) = -Dx(i)
End If
ParticleX(i) = ParticleX(i) + Dx(i)
'move particle down
ParticleY(i) = ParticleY(i) + Int((Dy(i) + Rnd * 10) / 5)
If ParticleY(i) > ScaleHeight Then
Bounces(i) = Bounces(i) + 1
Shower(i) = False
Dy(i) = -((BounceNumber - Bounces(i)) * (Dy(i) / 5))
If Bounces(i) >= BounceNumber Then
Bounces(i) = 0
Dx(i) = 0
Select Case Mode
Case 0
ParticleX(i) = MouseX
ParticleY(i) = MouseY
Case 1
ParticleX(i) = Rnd * ScaleWidth
ParticleY(i) = Rnd * ScaleHeight
Case 2
ParticleX(i) = Rnd * ScaleWidth
ParticleY(i) = 0
Case 3
Vel = Vel + 0.1
If Vel > 5 Then
Vel = 0
End If
If PointX < MouseX Then
PointX = PointX + Vel
ElseIf PointX > MouseX Then
PointX = PointX - Vel
End If
If PointY < MouseY Then
PointY = PointY + Vel
ElseIf PointY > MouseY Then
PointY = PointY - Vel
End If
ParticleX(i) = PointX
ParticleY(i) = PointY
Case 4
Ro = Ro + 5
If Ro > 360 Then
Ro = 0
End If
Theta = Inc * Ro
If Mode4 < 100 Then
ParticleX(i) = (ScaleWidth / 4) + Cos(Theta) * 100
ParticleY(i) = (ScaleHeight / 4) + Sin(Theta) * 100
ElseIf Mode4 >= 100 And Mode4 < 200 Then
ParticleX(i) = (ScaleWidth * 3 / 4) + Cos(Theta) * 100
ParticleY(i) = (ScaleHeight / 4) + Sin(Theta) * 100
ElseIf Mode4 >= 200 And Mode4 < 300 Then
ParticleX(i) = (ScaleWidth / 4) + Cos(Theta) * 100
ParticleY(i) = (ScaleHeight * 3 / 4) + Sin(Theta) * 100
ElseIf Mode4 >= 300 And Mode4 < 400 Then
ParticleX(i) = (ScaleWidth * 3 / 4) + Cos(Theta) * 100
ParticleY(i) = (ScaleHeight * 3 / 4) + Sin(Theta) * 100
ElseIf Mode4 >= 400 And Mode4 < 500 Then
ParticleX(i) = (ScaleWidth / 2) + Cos(Theta) * 100
ParticleY(i) = (ScaleHeight / 2) + Sin(Theta) * 100
End If
Mode4 = Mode4 + 1
If Mode4 >= 500 Then
Mode4 = 0
End If
End Select
End If
End If
DoEvents
Select Case Color
Case 1
PSet (ParticleX(i), ParticleY(i)), RGB(255, 255, 255)
PSet (Trail1X(i), Trail1Y(i)), RGB(200, 200, 200)
PSet (Trail2X(i), Trail2Y(i)), RGB(190, 190, 190)
PSet (Trail3X(i), Trail3Y(i)), RGB(180, 180, 180)
PSet (Trail4X(i), Trail4Y(i)), RGB(170, 170, 170)
PSet (Trail5X(i), Trail5Y(i)), RGB(160, 160, 160)
PSet (Trail6X(i), Trail6Y(i)), RGB(150, 150, 150)
PSet (Trail7X(i), Trail7Y(i)), RGB(140, 140, 140)
PSet (Trail8X(i), Trail8Y(i)), RGB(100, 100, 100)
PSet (Trail9X(i), Trail9Y(i)), RGB(80, 80, 80)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
Case 2
PSet (ParticleX(i), ParticleY(i)), RGB(0, 0, 255)
PSet (Trail1X(i), Trail1Y(i)), RGB(10, 10, 240)
PSet (Trail2X(i), Trail2Y(i)), RGB(20, 20, 230)
PSet (Trail3X(i), Trail3Y(i)), RGB(30, 30, 220)
PSet (Trail4X(i), Trail4Y(i)), RGB(40, 40, 210)
PSet (Trail5X(i), Trail5Y(i)), RGB(50, 50, 200)
PSet (Trail6X(i), Trail6Y(i)), RGB(60, 60, 190)
PSet (Trail7X(i), Trail7Y(i)), RGB(70, 70, 180)
PSet (Trail8X(i), Trail8Y(i)), RGB(80, 80, 170)
PSet (Trail9X(i), Trail9Y(i)), RGB(90, 90, 160)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
Case 3
PSet (ParticleX(i), ParticleY(i)), RGB(0, 255, 0)
PSet (Trail1X(i), Trail1Y(i)), RGB(10, 240, 10)
PSet (Trail2X(i), Trail2Y(i)), RGB(20, 230, 20)
PSet (Trail3X(i), Trail3Y(i)), RGB(30, 220, 30)
PSet (Trail4X(i), Trail4Y(i)), RGB(40, 210, 40)
PSet (Trail5X(i), Trail5Y(i)), RGB(50, 200, 50)
PSet (Trail6X(i), Trail6Y(i)), RGB(60, 190, 60)
PSet (Trail7X(i), Trail7Y(i)), RGB(70, 180, 70)
PSet (Trail8X(i), Trail8Y(i)), RGB(80, 170, 80)
PSet (Trail9X(i), Trail9Y(i)), RGB(90, 160, 90)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
Case 4
PSet (ParticleX(i), ParticleY(i)), RGB(0, 255, 255)
PSet (Trail1X(i), Trail1Y(i)), RGB(10, 240, 240)
PSet (Trail2X(i), Trail2Y(i)), RGB(20, 230, 230)
PSet (Trail3X(i), Trail3Y(i)), RGB(30, 220, 220)
PSet (Trail4X(i), Trail4Y(i)), RGB(40, 210, 210)
PSet (Trail5X(i), Trail5Y(i)), RGB(50, 200, 200)
PSet (Trail6X(i), Trail6Y(i)), RGB(60, 190, 190)
PSet (Trail7X(i), Trail7Y(i)), RGB(70, 180, 180)
PSet (Trail8X(i), Trail8Y(i)), RGB(80, 170, 170)
PSet (Trail9X(i), Trail9Y(i)), RGB(90, 160, 160)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
Case 5
PSet (ParticleX(i), ParticleY(i)), RGB(255, 0, 0)
PSet (Trail1X(i), Trail1Y(i)), RGB(240, 10, 10)
PSet (Trail2X(i), Trail2Y(i)), RGB(230, 20, 20)
PSet (Trail3X(i), Trail3Y(i)), RGB(220, 30, 30)
PSet (Trail4X(i), Trail4Y(i)), RGB(210, 40, 40)
PSet (Trail5X(i), Trail5Y(i)), RGB(200, 50, 50)
PSet (Trail6X(i), Trail6Y(i)), RGB(190, 60, 60)
PSet (Trail7X(i), Trail7Y(i)), RGB(180, 70, 70)
PSet (Trail8X(i), Trail8Y(i)), RGB(170, 80, 80)
PSet (Trail9X(i), Trail9Y(i)), RGB(160, 90, 90)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
Case 6
PSet (ParticleX(i), ParticleY(i)), RGB(255, 255, 0)
PSet (Trail1X(i), Trail1Y(i)), RGB(240, 240, 10)
PSet (Trail2X(i), Trail2Y(i)), RGB(230, 230, 20)
PSet (Trail3X(i), Trail3Y(i)), RGB(220, 220, 30)
PSet (Trail4X(i), Trail4Y(i)), RGB(210, 210, 40)
PSet (Trail5X(i), Trail5Y(i)), RGB(200, 200, 50)
PSet (Trail6X(i), Trail6Y(i)), RGB(190, 190, 60)
PSet (Trail7X(i), Trail7Y(i)), RGB(180, 180, 70)
PSet (Trail8X(i), Trail8Y(i)), RGB(170, 170, 80)
PSet (Trail9X(i), Trail9Y(i)), RGB(160, 160, 90)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
Case 7
PSet (ParticleX(i), ParticleY(i)), RGB(255, 0, 255)
PSet (Trail1X(i), Trail1Y(i)), RGB(240, 10, 240)
PSet (Trail2X(i), Trail2Y(i)), RGB(230, 20, 230)
PSet (Trail3X(i), Trail3Y(i)), RGB(220, 30, 220)
PSet (Trail4X(i), Trail4Y(i)), RGB(210, 40, 210)
PSet (Trail5X(i), Trail5Y(i)), RGB(200, 50, 200)
PSet (Trail6X(i), Trail6Y(i)), RGB(190, 60, 190)
PSet (Trail7X(i), Trail7Y(i)), RGB(180, 70, 180)
PSet (Trail8X(i), Trail8Y(i)), RGB(170, 80, 170)
PSet (Trail9X(i), Trail9Y(i)), RGB(160, 90, 160)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
Case 8
PSet (ParticleX(i), ParticleY(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail1X(i), Trail1Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail2X(i), Trail2Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail3X(i), Trail3Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail4X(i), Trail4Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail5X(i), Trail5Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail6X(i), Trail6Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail7X(i), Trail7Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail8X(i), Trail8Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail9X(i), Trail9Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
End Select
Loop
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'set drawwing coords
MouseX = X
MouseY = Y
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
End
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -