ssoni

dog ball chase.vb

Mar 28th, 2022 (edited)
793
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.86 KB | None | 0 0
  1. Public Class Form1
  2.     Public dy As Integer
  3.     Public dx As Integer
  4.     Public dogSpeed As Integer
  5.     Public generator As New Random
  6.  
  7.     Private Sub tmrMoveBall_Tick(sender As Object, e As EventArgs) Handles tmrMoveBall.Tick
  8.         picBall.Top = picBall.Top + dy
  9.         picBall.Left = picBall.Left + dx
  10.  
  11.         If (picBall.Top > Me.Height - picBall.Height) Or (picBall.Top < 0) Then
  12.             dy = -dy
  13.         End If
  14.  
  15.         If (picBall.Left > Me.Width - picBall.Width) Or (picBall.Left < 0) Then
  16.             dx = -dx
  17.         End If
  18.     End Sub
  19.  
  20.  
  21.  
  22.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  23.         dy = 7
  24.         dx = 7
  25.         dogSpeed = 8
  26.     End Sub
  27.  
  28.     Private Sub tmrMoveDog_Tick(sender As Object, e As EventArgs) Handles tmrMoveDog.Tick
  29.  
  30.         If picDog.Top < picBall.Top Then
  31.             picDog.Top = picDog.Top + dogSpeed
  32.         Else
  33.             picDog.Top = picDog.Top - dogSpeed
  34.         End If
  35.  
  36.         If picDog.Left < picBall.Left Then
  37.             picDog.Left = picDog.Left + dogSpeed
  38.         Else
  39.             picDog.Left = picDog.Left - dogSpeed
  40.         End If
  41.  
  42.         If detectHits(picBall, picDog) = True Then
  43.             picDog.Top = generator.Next(1, Me.Height - picDog.Height)
  44.             picDog.Left = generator.Next(1, Me.Width - picDog.Width)
  45.  
  46.             dogSpeed = dogSpeed - 1
  47.  
  48.             If dogSpeed = 0 Then
  49.                 dogSpeed = 10
  50.             End If
  51.         End If
  52.     End Sub
  53.  
  54.     Public Function detectHits(p1 As PictureBox, p2 As PictureBox) As Boolean
  55.         If ((p1.Left + p1.Width > p2.Left) And
  56.                 (p1.Left < p2.Left + p2.Width) And
  57.                 (p1.Top + p1.Height > p2.Top) And
  58.                 (p1.Top < p2.Top + p2.Height)) Then
  59.             Return True
  60.         Else
  61.             Return False
  62.         End If
  63.     End Function
  64. End Class
Add Comment
Please, Sign In to add comment