public static Graph InitTab(string[,] tab) { Graph graph = new Graph(); int indice = 1; for (int line = 0; line < tab.GetLength(0); line++) { for (int column = 0; column < tab.GetLength(1); column++) { if (tab[line, column].Length > 1) { Noeud n = new Noeud(new Vector2(column, line)); n.Indice = indice++; n.Obstacle = 0; graph.ListNoeuds.Add(n); } } } return(graph); }
public List <Noeud> rechercherChemin(Noeud noeudDepart, Noeud noeudFinal) { List <Noeud> list = algoAStar(noeudDepart, noeudFinal); List <Noeud> res = new List <Noeud>(); foreach (var n in list) { if (n.Indice == noeudFinal.Indice) { Noeud noeud = n; while (noeud.Parent != null) { res.Add(noeud); noeud = noeud.Parent; } res.Add(noeud); } } res.Reverse(); return(res); }