以下是代码
Dim BallX As Integer
Dim BallY As Integer
Dim AddX As Integer
Dim AddY As Integer
Dim HitX As Integer
Dim W As Integer
Dim H As Integer
Private Sub Command1_Click()
BallX = Int(Rnd(1) * Form1.ScaleWidth / 10) * 5 + 25
BallY = Int((Form1.ScaleHeight) / 10) * 5
AddX = -5
AddY = -5
Form_Paint
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
X = X - 50
If X < 15 Then X = 15
If X > W - 105 Then X = W - 105
HitX = X
If Timer1.Enabled = True Then
Line (16, H - 5)-(W - 6, H), &HC0C0C0, BF
Line (HitX, H)-(HitX + 100, H - 5), 0, BF
End If
End Sub
Private Sub Form_Paint()
Cls
W = Int((ScaleWidth - 140) / 5) * 5
H = Int((ScaleHeight - 10) / 5) * 5
BackColor = &HC0C0C0
Line (10, 10)-(15, H), 0, BF
Line (W - 5, 10)-(W, H), 0, BF
Line (10, 10)-(W, 15), 0, BF
End Sub
Private Sub Timer1_Timer()
Form1.Circle (BallX, BallY), 12, &HC0C0C0
BallX = BallX + AddX
BallY = BallY + AddY
Form1.Circle (BallX, BallY), 12, 0
If BallX <= 20 Then AddX = -AddX
If BallY <= 20 Then AddY = -AddY
If BallX >= W - 10 Then AddX = -AddX
If BallY >= H - 10 Then
If Not (BallX > HitX And BallX < HitX + 100) Then
Timer1.Enabled = False
Form_Paint
End If
AddY = -AddY
End If
End Sub