Программирование на Visual Basic

Игры на visual basic

Итак, мы, наконец-то, добрались до создания игры. Если честно, то я первый раз пробовал создать игру типаPinBall и поэтому код, наверняка, получился слишком большой для этой игры.(Пожалуйста, не бойтесь размера кода! Он ОЧЕНЬ простой!)Я не знаю! Как умею, так и показываю! Вот то, что должно получиться:

рис.1

рис.2

Рис.1 Видите эту странную границу формы - это вXP такие и я стал счастливым обладателем этой ОСи!

Вам понадобится:

  1. Форма с именем Form1

  2. Два shape"а с именами A и B, и свойством Shape равное "4"

  3. Еще один shape с именем Ball, свойство Shape делаем равным "2". Затем придаем ему форму шара.

  4. Теперь делаем 8 (да-да, вы не ослышались!=) таймеров с их первоначальными именами. Делаем для них свойства:

  • Timer1.Interval = 1

  • Timer2.Interval = 1

  • Timer3.Interval = 1

  • Timer4.Interval = 1

  • Timer5.Interval = 1                      

  • Timer6.Interval = 1

  • Timer7.Interval = 1

  • Timer8.Interval = 2500

Теперь код:

Private SubForm_KeyDown(KeyCode As Integer, Shift As Integer)
" если нажата кнопка "вправо", то бита "А" едет вправо
If KeyCode = 39 Then
A.Left = A.Left + 120
End If
" если нажата кнопка "влево", то бита "А" едет влево
If KeyCode = 37 Then
A.Left = A.Left - 120
End If
" если нажата кнопка "S", то бита "B" едет вправо
If KeyCode = 83 Then
B.Left = B.Left + 120
End If
" если нажата кнопка "A", то бита "B" едет вправо
If KeyCode = 65 Then
B.Left = B.Left - 120
End If
End Sub

Private SubTimer1_Timer()
" надеюсь тут вы разберетесь, так как коментарии "излишни" ;)
" подскажу только, что это расчитывается куда отскочет мяч
" это зависит от того куда попал мяч (см. рис2)
If Ball.Top > A.Top - 240 And Ball.Left = A.Left Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
Timer3.Enabled = True
End If
If Ball.Top > A.Top - 240 And Ball.Left = A.Left + 120 Then
Timer4.Enabled = False
Timer2.Enabled =
False
Timer5.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
Timer3.Enabled = True
End If
If
Ball.Top > A.Top - 240 And Ball.Left = A.Left + 240 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
Timer3.Enabled = True
End If
If
Ball.Top > A.Top - 240 And Ball.Left = A.Left + 360 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
Timer3.Enabled = True
End If
If
Ball.Top > A.Top - 240 And Ball.Left = A.Left + 480 Then
Timer4.Enabled = False
Timer2.Enabled = True
End If
If
Ball.Top > A.Top - 240 And Ball.Left = A.Left + 600 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
Timer5.Enabled = True
End If
If
Ball.Top > A.Top - 240 And Ball.Left = A.Left + 720 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
Timer5.Enabled = True
End If
If
Ball.Top > A.Top - 240 And Ball.Left = A.Left + 840 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
Timer5.Enabled = True
End If
If
Ball.Top < B.Top + 240 And Ball.Left = B.Left Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer6.Enabled = False
Timer5.Enabled = False
Timer7.Enabled = True
End If
If
Ball.Top < B.Top + 240 And Ball.Left = B.Left + 120 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer6.Enabled = False
Timer5.Enabled = False
Timer7.Enabled = True
End If
If
Ball.Top < B.Top + 240 And Ball.Left = B.Left + 240 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer6.Enabled = False
Timer5.Enabled = False
Timer7.Enabled = True
End If
If
Ball.Top < B.Top + 240 And Ball.Left = B.Left + 360 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer6.Enabled = False
Timer5.Enabled = False
Timer7.Enabled = True
End If

If Ball.Top < B.Top + 240 And Ball.Left = B.Left + 480 Then
Timer2.Enabled = False
Timer4.Enabled = True
End If

If Ball.Top < B.Top + 240 And Ball.Left = B.Left + 600 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer7.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = True
End If
If
Ball.Top < B.Top + 240 And Ball.Left = B.Left + 720 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer7.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = True
End If
If Ball.Top < B.Top + 240 And Ball.Left = B.Left + 840 Then
Timer4.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer7.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = True
End If
" мячик отскакивает от правой стенки экрана
If Ball.Left > Me.Width - 345 Then
If
Timer5.Enabled = True Then
Ball.Left = Ball.Left - 120
Timer5.Enabled = False
Timer3.Enabled = True
End If
If
Timer6.Enabled = True Then
Ball.Left = Ball.Left - 120
Timer6.Enabled = False
Timer7.Enabled = True
End If
End If

" мячик отскакивает от левой стенки экрана
If Ball.Left < Line1.X1 + 10 Then
If Timer3.Enabled = True Then
Ball.Left = Ball.Left + 120
Timer3.Enabled = False
Timer5.Enabled = True
End If
If
Timer7.Enabled = True Then
Ball.Left = Ball.Left + 120
Timer7.Enabled = False
Timer6.Enabled = True
End If
End If

" мячик отскакивает от верхней и нижней стенки экрана
If Ball.Top > Me.Height - 735 Or Ball.Top < 120 Then
Ball.Top = 3600
Ball.Left = 4440
Timer8.Enabled = True
End If
End Sub

" таймеры задающие направление мяча
Private Sub Timer2_Timer()
Ball.Top = Ball.Top - 30
End Sub

Private SubTimer4_Timer()
Ball.Top = Ball.Top + 30
End Sub

Private SubTimer3_Timer()
Ball.Top = Ball.Top - 30
Ball.Left = Ball.Left - 30
End Sub

Private SubTimer5_Timer()
Ball.Top = Ball.Top - 30
Ball.Left = Ball.Left + 30
End Sub

Private SubTimer6_Timer()
Ball.Top = Ball.Top + 30
Ball.Left = Ball.Left + 30
End Sub

Private SubTimer7_Timer()
Ball.Top = Ball.Top + 30
Ball.Left = Ball.Left - 30
End Sub

Готовый пример можно скачатьздесь.

Hosted by uCoz