Beispiel #1
0
 private void genererVoisins()
 {
     for (int i = 0, j = 1; i < grille.Count; i++, j++)
     {
         Noeud n = grille[i].GetComponent <Noeud>();
         if (j % colonne == 0)             // S'il n'y a pas de noeuds à droite
         {
             if (i + colonne < colonne * ligne)
             {
                 n.addVoisin(grille[i + colonne]);                                                // Noeud du haut
             }
             if (i - colonne >= 0)
             {
                 n.addVoisin(grille[i - colonne]); // Noeud du bas
             }
             n.addVoisin(grille[i - 1]);           // Noeud de gauche
         }
         else if (j % colonne == 1)                // S'il n'y a pas de noeuds à gauche
         {
             if (i + colonne < colonne * ligne)
             {
                 n.addVoisin(grille[i + colonne]);                                                // Noeud du haut
             }
             if (i - colonne >= 0)
             {
                 n.addVoisin(grille[i - colonne]);       // Noeud du bas
             }
             n.addVoisin(grille[i + 1]);                 // Noeud à droite
         }
         else
         {
             if (i + colonne < colonne * ligne)
             {
                 n.addVoisin(grille[i + colonne]);                                                // Noeud du haut
             }
             if (i - colonne >= 0)
             {
                 n.addVoisin(grille[i - colonne]);       // Noeud du bas
             }
             n.addVoisin(grille[i - 1]);                 // Noeud de gauche
             n.addVoisin(grille[i + 1]);                 // Noeud de droite
         }
     }
 }