-
Voici la procédure
qui exécute la réaction en cas de collision.
Sub continue()
If V_Vie > 0 Then 'S'il
reste des vies
IM_Homme1.Top = 3000
'Repositionnement de l'image de l'homme 1
IM_Homme1.Left = 0
IM_Homme1.Visible = True
'L'homme redevient visible
ZT_1.Text = Val(ZT_1.Text) - 1
'Soustraction d'une vie et affichage du -->
nombre de vies restant
V_Vie = V_Vie - 1
'Dimimution du nombre de vies
V_z = 0 'Réinitialisation
de V_z
V_rc = sndPlaySound(App.Path & "\OH!!.WAV",
SND_ASYNC) 'Le son
est joué
Nettoyage
'Appel de la procédure Nettoyage
Minu_3.Enabled = True
'Réactivation de la minuterie 3
Else
'S'il ne reste plus de vies
ZT_1.Text = Val(ZT_1.Text)
'Affichage du nombre de vies restant
IM_Étoile.Top = IM_Homme1.Top
'Déplacement de l'image Étoile à la position-->
de l'homme
IM_Étoile.Left = IM_Homme1.Left
IM_Étoile.Visible = True
'Affichage de l'étoile
IM_Homme1.Visible = False
'Cache l'homme
V_rc = sndPlaySound(App.Path & "\victory.WAV",
SND_ASYNC) 'Jeu du
son
MsgBox "Partie terminée", ,
"Duel..."
'Affichage d'un message de fin de partie
Nettoyage
'Appel de procédure
Minu_1.Enabled = False
'Désactivation de toutes les
minuteries
Minu_2.Enabled = False
Minu_3.Enabled = False
Minu_4.Enabled = False
Minu_5.Enabled = False
Minu_6.Enabled = False
Minu_7.Enabled = False
Exit Sub
End If
End Sub
-
La procédure
précédente fait appel à une autre procédure nommée Nettoyage
qui permet de recommencer après qu'un joueur ait été
touché. En voici le script.
Sub Nettoyage()
Dim V_x As Integer
'Déclaration de variable
For V_x = 0 To 5
IM_BalleD(V_x).Visible = False
'Cacher les balles
IM_BalleG(V_x).Visible = False
Next
If IM_Explose.Visible = True Then 'Si
l'explosion est visible
For V_x = 0 To 7
IM_Cercle(V_x).Visible = False
'Cacher les cercles
Next V_x
End If
End Sub
-
Avant de faire agir
le personnage du joueur, nous allons faire bouger le
décor. La minuterie Minu_1 se chargera de cet
aspect du jeu.
Private Sub Minu_1_Timer()
Const Co_Cactus = 30
'Déclaration de constantes
Const CO_NomCact = 7
Dim V_i As Integer
'Déclaration de variable
For V_i = 0 To CO_NomCact - 1
'Boucle de déplacement des cactus
IM_Cactus(V_i).Left = IM_Cactus(V_i).Left - Co_Cactus
'Changement de-->
la borne gauche
If IM_Cactus(V_i).Left < -IM_Cactus(V_i).Width Then
'Si la position est-->
négative
IM_Cactus(V_i).Left = CA_1.Width
'Repositionnement de l'image à droite
End If
Next
End Sub
SUITE...
|