public Nodoh getNodo(string estado) { Nodoh nodo = new Nodoh(); foreach (Nodoh nod in Nodos) { if (nod.Estado == estado) { nodo = nod; break; } } return(nodo); }
public List <NodoCosto> getVecinosCosto(string estado, int acum, List <string> explorados) { Nodoh nodo = getNodo(estado); List <NodoCosto> costos = new List <NodoCosto>(); foreach (var subN in nodo.SubNodos) { if (!explorados.Contains(subN.ArcoNodo)) { costos.Add(new NodoCosto() { Costo = (acum + subN.Costo) + getNodo(subN.ArcoNodo).Heuristica, Nodo = subN.ArcoNodo, ArcCosto = subN.Costo }); } } return(costos); }