Автор:
Петр (Skript) Пономарев | добавлено: 06.03.2010, 13:26 | просмотров: 7046 (2+) | комментариев:
0 | рейтинг:
x6
Разместите на форме часы с интервалом 10, и пропишите код. Удачи.
Option Explicit
Dim x, y As Integer
Dim dx, dy As Integer
Dim r As Integer
Dim cBall As Long
Dim cBack As Long
Dim wp, hp As Integer
Dim rd As Integer
Dim rx1, rx2 As Integer
Dim ry As Integer
Dim rdx As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If rd <> 0 Then
Exit Sub
End If
Select Case KeyCode
Case 37
rd = 2
Case 39
rd = 1
End Select
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
rd = 0
End Sub
Private Sub Form_Load()
r = 3
x = r
y = 50
dx = 1
dy = 1
cBall = RGB(217, 217, 33)
cBack = RGB(33, 94, 33)
Form1.BackColor = cBack
wp = Form1.ScaleWidth
hp = Form1.ScaleHeight
' Óïðàâëåíèå ðàêåòêîé
rd = 0
rx1 = 100
rx2 = 125
ry = Form1.ScaleHeight - 20
rdx = 2
End Sub
Private Sub Form_Paint()
Form1.Line (rx1, ry)-(rx2, ry), vbRed
End Sub
Private Sub Timer1_Timer()
' Ñòåðåòü èçîáðàæåíèå ìÿ÷à
Form1.Circle (x, y), r, cBack
' íîâîå ïîëîæåíèå ìÿ÷à
If dx > 0 Then
' Äâèæåíèå ìÿ÷à âïðàâî
If x + dx + r > wp Then dx = -dx
Else
' äâèæåíåè ìÿ÷à âëåâî
If x + dx - r < 0 Then dx = -dx
End If
If dy > 0 Then
' äâèæåíèå ìÿ÷à âíèç
If (x >= rx1) And (x <= rx2) And (y = ry - r - 1) Then
dy = -dy
Else
If y + dy + r > Form1.ScaleHeight Then dy = -dy
End If
Else
' Äâèæåíèå ìÿ÷à ââåðõ
If (x >= rx1) And (x < rx2) And (y >= ry = r) _
And (y <= ry + r) Then
Line (rx1, ry)-(rx2, ry), vbRed
End If
If y + dy - r < 0 Then dy = -dy
End If
x = x + dx
y = y + dy
Form1.Circle (x, y), r, cBall
' ðàêåòêà
If rd <> 0 Then
If rd = 1 Then
If rx1 < wp Then
Line (rx1, ry)-(rx1 + rdx, ry), cBack
Line (rx2, ry)-(rx2 + rdx, ry), vbRed
rx1 = rx1 + rdx
rx2 = rx2 + rdx
End If
Else
' âïðàâî
If rx1 > 1 Then
Line (rx2, ry)-(rx2 - rdx, ry), cBack
Line (rx1 - rdx, ry)-(rx1 + rdx, ry), vbRed
rx1 = rx1 - rdx
rx2 = rx2 - rdx
End If
End If
End If
End Sub
' íàæàòèå íà êëàâèøó