Public Class Camp

'DEFINEIXO LES VARIABLES
Dim Parades, Xuts, Salt, Sentit, Gols As Integer

'QUAN ARRANQUI EL PROGRAMA
Private Sub Camp_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'INICIALITZO LES VARIABLES
Xuts = 1
Parades = 0
Timer1.Interval = 300
Timer1.Enabled = True
Salt = 100
Sentit = 1
Bola.Left = -Bola.Width
Bola.Top = Me.Height / 2
Pala.Minimum = Bola.Height
Pala.Maximum = Me.Height
Pala.Value = Me.Height / 2
Pala.SmallChange = Bola.Height / 2
Pala.LargeChange = Me.Height / 4
ComptaXuts.Text = Xuts
ComptaGols.Text = Gols
End Sub

'A CADA TICK DE RELLOTGE
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Bola.Left = Bola.Left + 100 * Sentit
Label2.Text = "Bola:" & Bola.Right & "," & Bola.Top & Chr(13) & "Pala:" & Pala.Left & "," & Pala.Value

'SI TOCA LA PALA
If (Bola.Right >= Pala.Left) And (Bola.Top + Bola.Height / 2) > (Pala.Value - 50) And (Bola.Top + Bola.Height / 2) < (Pala.Value + 50) Then
Sentit = -1
End If

'SI SURT PER LA DRETA
If Bola.Left >= Me.Width Then

'TORNA A SORTIR PER LA ESQUERRA
Bola.Left = -Bola.Width

'A UNA ALÇADA ALEATORIA
Randomize()
Bola.Top = (Me.Height - Bola.Height) * Rnd()
Gols = Gols + 1
ComptaGols.Text = Gols
End If

'SI SURT PER LA ESQUERRA
If Bola.Left <= -Bola.Width Then

'TORNA A SORTIR PER LA ESQUERRA
Bola.Left = -Bola.Width

'A UNA ALÇADA ALEATORIA
Randomize()
Bola.Top = (Me.Height - Bola.Height) * Rnd()

'CANVIA DE SENTIT
Sentit = 1
Xuts = Xuts + 1
ComptaXuts.Text = Xuts

End If
End Sub
End Class

Darrera modificació: dimecres, 11 de maig 2022, 09:36