Bonjour tout le monde,
Je suis entrain de développer le jeu célebre jeu de Démineur. Je voulais réaliser une fonction qui me permet d'ouvrir les cases autour si la case cliquée etait une case vide. Mon probleme c'est que je n'arrive pas à dépasser la case cliqué. Ma fonction est la suivante:
Voilà mon programme. Ma boucle tourne autour d'une seule case et je n'arrive pas à accéder à la case suivante.
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 Case[,] c = new Case[15, 20]; //..... //...... private void CaseClick( object sender, MouseEventArgs e) { Case c = sender as Case; if (c.valeur == Valeur.val0) { //Pour ouvrir 8 cases au tour for (int row = 0; row < 4; row++) for (int col = 0; col < 4; col++) { foreach (int Nlig in c.ligne) //c.ligne: une liste contenant le numéro de ligne de la case cliquée //selon la grille du jeu. if (Nlig + 1 >14 || Nlig - 1 < 0) continue; //débordement de la grille en ligne. else if (c.etat == Etat.isOpened) continue;//Pour savoir si la case est ouverte else if (c.valeur != Valeur.isMine) continue;//Si la case n'est pas minée. { c.Open(); }//Permet d'ouvrir une seule case. foreach (int Ncolo in c.colonne)//c.colonne: une liste qui contient le numero de la colonne qui a été cliquée. if (Ncolo + 1 > 19 || Ncolo - 1 < 0) continue;//debordement de la grile en colonne. else if (c.etat == Etat.isOpened) continue; else if (c.valeur == Valeur.isMine) continue; { c.Open(); } } }
Merci à l'avance à quiconque peut m'aider à trouver une solution
Partager