IFT 1175 - TP2A – Complément
Voici les textes que vous pouvez «Copier/Coller» dans votre programme ... au bon endroit bien sûr.
6.
Me.Close() 8.
Public X, Y As Short
OU BIEN
Private m_VariableX As Short Private m_VariableY As Short Public Property X() As Short Get
X = m_VariableX End Get
Set
m_VariableX = Value End Set
End Property
Public Property Y() As Short Get
Y = m_VariableY End Get
Set
m_VariableY = Value End Set
End Property
10.
Private varNumCercle As Short Private varCentre As New clsPoint Private varRayon As Short
11.
Public Property NumCercle() As Short Get
NumCercle = varNumCercle '
ou bien
Return varNumCercle End GetSet(ByVal Value As Short) '
ou plus simplement
Set varNumCercle = ValueEnd Set End Property
Public Property Centre() As clsPoint Set(ByVal Value As clsPoint) varCentre = Value
End Set Get
Centre = varCentre End Get
End Property
Public WriteOnly Property Rayon() As Short Set(ByVal Value As Short)
If Value < 5 Then ' Minimum 5 pixels varRayon = 5
Else
varRayon = Value End If
End Set End Property 12.
Public Sub Dessiner(ByVal MonObjet As Object) Dim g As Graphics
g = MonObjet.CreateGraphics
' On associe le graphique à la surface de la feuille
g.DrawEllipse(Pens.Black, varCentre.X - varRayon, varCentre.Y - _ varRayon, 2 * varRayon, 2 * varRayon)
g.Dispose() End Sub
14.
Dim UnPoint As clsPoint Dim MonCercle As clsCercle UnPoint = New clsPoint UnPoint.X = e.X
UnPoint.Y = e.Y
MonCercle = New clsCercle MonCercle.Centre = UnPoint MonCercle.Rayon = 10
MonCercle.Dessiner(Me) 20.
Public Sub Déplacer(ByRef MonObjet As Object) Call Effacer(MonObjet)
If varCentre.Y + varRayon < MonObjet.Size.Height - 35 Then varCentre.Y = varCentre.Y + 1
End If
Call Dessiner(MonObjet) End Sub
21.
Timer1.Enabled = True 22.
MonCercle.Déplacer(Me) 24.
Private varDepl As Short
Private varDirMonte As Boolean
'Faux : Descente; Vrai : Montée
25.
If Not varDirMonte Then
' On descend
If varCentre.Y > MonObjet.Size.Height - varRayon - 35 Then
'on bondit
varDirMonte = True Else 'On continue
Call Effacer(MonObjet) varDepl = varDepl + 1
varCentre.Y = varCentre.Y + varDepl
Call Dessiner(MonObjet) End If
Else 'On monte
If varDepl > 0 Then varDepl = varDepl - 1 If varDepl = 0 Then ' On redescent
varDirMonte = False Else ' on continue
Call Effacer(MonObjet)
varCentre.Y = varCentre.Y - varDepl Call Dessiner(MonObjet)
End If End If 27.
Public Event Choc() RaiseEvent Choc() 30.
varNombreChocs = varNombreChocs + 1
lblNbChocs.Text = "Nombre de chocs : " & varNombreChocs
31. Dim varNombreChocs As Short
33.
Dim NbrCercles As Short = 0 Dim MaColl As New Collection 34.
NbrCercles = NbrCercles + 1 MonCercle.NumCercle = NbrCercles
MaColl.Add(MonCercle, "C" & NbrCercles)
lblNbBalles.Text = "Nombre de cercles : " & MaColl.Count() MonCercle = Nothing
35.
For Each Un_Cercle As clsCercle In MaColl MonCercle = Un_Cercle
MonCercle.Déplacer(Me) Next ' Un_Cercle
37.
Private varImmobile As Boolean
' Immobile : varDepl = 0 au moment du choc Public ReadOnly Property Immobile() As Boolean Get
Immobile = varImmobile End Get
End Property
If varDepl = 0 Then varImmobile = True Call Effacer(MonObjet) End If
38.
If MonCercle.Immobile Then
MaColl.Remove("C" & MonCercle.NumCercle)
lblNbBalles.Text = "Nombre de cercles : " & MaColl.Count End If