Bonjour tout le monde, je travaille présentement sur un démineur en c# et j'aimerai comprendre ce qui ne marche pas. Je vous explique: je dois générer alétoirement des mines dans une grille de jeu (chose que j'ai fait ) mais le problème, c'est qu'il en faut 10... et toujours 10 (pour info , la constante MAX_NOMBRE_MINE = 10)
Dans mon cas, j'ai 4 fois sur 5 10 mines, mais parfois j'ai 8 ou 9 mines dans mon jeu

Je vous passe mon code et dites moi si vous voyez quelque chose de louche.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
 /// <summary>
        /// Vérifie s'il existe (ou pas) 2 adresses identiques dans le tableau 
        /// </summary>
        /// <param name="pEntierRecherche">entier à chercher dans le tableau</param>
        /// <returns>oui ou non l'entier se trouve déjà dans le tableau</returns>
        /// -----------------------------------------------------------------------------------------------
        private bool Existe(int pEntierRecherche)
        {
            for (int row = 0; row < viaGrilleJeu.RowCount; row++)
            {
                for (int column = 0; column < viaGrilleJeu.ColumnCount; column++)
                {
                    if (m_tabIndexImages[row,column] == pEntierRecherche)
                    {
                        return true;
                    }
                }
            }
            return false; 
        }
 
        /// ---------------------------------------------------------------------------------
        /// <summary>
        /// Place des mines (MAX_NOMBRE_MINES) dans le tableau des mines.
        /// </summary>
        /// ---------------------------------------------------------------------------------
        private void PlacerMinesAleatoirement()
        {
            // Placer le nombre maximum de mines permis dans le tableau.
 
            Address[] tabAdressesMines = new Address[MAX_NOMBRE_MINES];  
            int adresseRangee;
            int adresseColonne;
 
            for (int cptMines = 0; cptMines < MAX_NOMBRE_MINES; cptMines++)
            {
                adresseRangee = viaGrilleJeu.RandomInt(0, viaGrilleJeu.RowCount);
                adresseColonne = viaGrilleJeu.RandomInt(0, viaGrilleJeu.ColumnCount);
 
                    // Ne pas placer 2 adresses identiques dans le tableau.
                    do 
                    {
                        tabAdressesMines[cptMines] = new Address(adresseRangee, adresseColonne);
 
                    } while (Existe(adresseRangee) && Existe(adresseColonne));
            }
 
            PlacerMines(tabAdressesMines); 
        }
Merci !