Puissance 4 en VB.net

Fermé
Puissance4 - 10 juin 2009 à 17:52
 Puissance4 - 13 juin 2009 à 20:50
Bonjour, je réalise actuellement un puissance 4 en VB.net sur visual studio.
J'ai réalisé un tableau de PictureBox, à chaque fois que l'utilisateur place un pion, ce tableau est converti dans un autre tableau appelé TabConverti(), si la pion du joueur 1 est placé la case sera égale à 1 sinon à 2 pour un pion du joueur 2.

Ensuite la procédure verif() vérifie si (selon le pion placé) il vient de compléter une ligne, une colonne ou une diagonale. J'ai tenté de faire cette procédure verif() mais ça ne marche pas. Même si quatre pions sont alignés, aucun message ne s'affiche :

 Private Sub verif()
        Dim i As Integer
        Dim j As Integer

        For i = 1 To 7
            For j = 1 To 6
                If ((TabConverti(i, j) = "1" Or TabConverti(i, j) = "2")) Then
                    MsgBox("voila")
                    If ((TabConverti(i, j) = TabConverti(i + 1, j)) And (TabConverti(i + 1, j) = TabConverti(i + 2, j)) And (TabConverti(i + 2, j) = TabConverti(i + 3, j))) Then
                         MsgBox("Gagné" & MsgBoxStyle.Critical)
                       
                    End If
                End If
            Next
        Next
        For i = 1 To 7
            For j = 1 To 3
                If (TabConverti(i, j) = "1" Or TabConverti(i, j) = "2") Then
                    MsgBox("Félicitation ! ")
                    If ((TabConverti(i, j) = TabConverti(i, j + 1)) And (TabConverti(i, j + 1) = TabConverti(i, j + 2)) And (TabConverti(i, j + 2) = TabConverti(i, j + 3))) Then
                         MsgBox("Gagné" & MsgBoxStyle.Critical)
                        
                    End If
                End If
            Next
        Next
        For i = 1 To 4
            For j = 1 To 3
                If (TabConverti(i, j) = "1" Or TabConverti(i, j) = "2") Then
                    If ((TabConverti(i, j) = TabConverti(i + 1, j + 1)) And (TabConverti(i + 1, j + 1) = TabConverti(i + 2, j + 2)) And (TabConverti(i + 2, j + 2) = TabConverti(i + 3, j + 3))) Then
                        MsgBox("Gagné" & MsgBoxStyle.Critical)
                       
                    End If
                End If
            Next
        Next
        For i = 1 To 4
            For j = 4 To 6
                If (TabConverti(i, j) = "1" Or TabConverti(i, j) = "2") Then
                    If ((TabConverti(i, j) = TabConverti(i + 1, j - 1)) And (TabConverti(i + 1, j - 1) = TabConverti(i + 2, j - 2)) And (TabConverti(i + 2, j - 2) = TabConverti(i + 3, j - 3))) Then
                        MsgBox("Gagné" & MsgBoxStyle.Critical)
                        
                    End If
                End If
            Next
        Next
    End Sub


Est-ce que quelqu'un saurait comment résoudre ce problème?
A voir également:

2 réponses

Personne n'a d'idée... :/
1
???
0