Bonjour,

J'ai un petit soucis au niveau d'une variable que je souhaite incrémenter dans un timer. C'est une variable pour compter les scores dans un jeu de morpion. Donc en fait le score est initialisé à 0 dans la variable score1, dans la partie "Load" du form.

lorsque le joueur 1 gagne en faisant la combinaison des cases du haut du plateau de jeu (soit bouton1 + bouton 2 + bouton3), la partie s'achève (normal), et le score est incrémenté de 1 (normal aussi) ...

Et la ... c'est le drame ...

Le score monte bien à 1, mais refuse obstinément d'aller au-delà !

Je ne comprends pas pourquoi. Pourriez-vous me donner un coup de main svp ?

Voici la partie du code avec le timer et cette foutue variable :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
 
        Dim choix As MsgBoxResult
 
        'Victoire des cercles
        If bouton1 = 1 And bouton2 = 1 And bouton3 = 1 Then
            Label5.Text = score1 + 1
            Timer1.Stop()
            MsgBox("Le joueur 1 remporte la partie !", vbOKOnly + vbInformation, "Joueur 1 gagne")
            choix = MsgBox("Voulez-vous rejouer une partie ?", vbYesNo + vbQuestion, "Rejouer ?")
            If choix = vbYes Then
                Label1.Text = "Tour du joueur numéro 1"
                Button1.Image = Nothing
                Button2.Image = Nothing
                Button3.Image = Nothing
                Button4.Image = Nothing
                Button5.Image = Nothing
                Button6.Image = Nothing
                Button7.Image = Nothing
                Button8.Image = Nothing
                Button9.Image = Nothing
                bouton1 = 0
                bouton2 = 0
                bouton3 = 0
                bouton4 = 0
                bouton5 = 0
                bouton6 = 0
                bouton7 = 0
                bouton8 = 0
                bouton9 = 0
                joueur = 1
                Timer1.Start()
            ElseIf choix = vbNo Then
                Me.Close()
            End If
        End If
le timer vérifie en fait toutes les demi-secondes si une condition de victoire (comme celle qui est ici) est validée, et si oui, il est "sensé" faire ce qui est indiqué ...

Merci d'avance !

Bye