Problème récursivité démineur
Bonjour j'essaye de créer un démineur en vb, et je galère. J'essaye, comme dans le démineur de windows, que quand le joueur clique sur une case où il n'y a pas de mines dans les cases adjacentes, celles-ci se dévoilent.
Etant pas très doué :D, je me suis embrouillé les pinceaux et je me retrouve avec ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
If countmines = 0 Then
For c1 = 1 To cotegrille
For c2 = 1 To cotegrille
If cellules(c1, c2).Equals(sender) = True Then
Dim c3, c4 As Integer
c3 = c1 - 1
c4 = c2 - 1
While c3 <= c1 + 1
While c4 <= c2 + 1
If c3 <= cotegrille And c3 >= 1 And c4 <= cotegrille And c4 >= 1 And (c3 <> c1 Or c4 <> c2) Then
mineClick(cellules(c3, c4), e)
End If
c4 += 1
End While
c3 += 1
End While
End If
Next
Next
End If |
Donc en gros si la case n'a pas de mines à côté, je trouve la case qui a été cliqué dans mon tableau à 2 dimensions représentant la grille du jeu.
C'est là qu'arrivent les problèmes. Je veux que ça refasse la même chose dans toutes les cases à côté mais vu qu'avec le "mineClick(cellules(c3, c4), e)", le prog se casse de la boucle, ça ne marche qu'avec la case en haut à gauche, sauf si celle-ci a au moins une mine adjacente.... Normal me direz-vous mais je vois pas comment faire autrement.
Désolé, c'est tellement brouillon que ça doit pas être facile à comprendre pour qqun qui n'a pas écrit le code.
Merci d'avance :)