Beispiel #1
0
 /// <summary>
 /// Reorienta el enlace del nodo
 /// </summary>
 /// <param name="actual">Punto donde está el algoritmo</param>
 /// <param name="i">Incremento de la coordenada X</param>
 /// <param name="j">Incremento de la coordenada Y</param>
 /// <param name="coste">Coste del paso</param>
 private void ReorientacionEnlaces(Baldosa actual, int i, int j, double coste)
 {
     if (Mapa[actual.Posicion.X + i, actual.Posicion.Y + j].G >
         Mapa[actual.Posicion.X, actual.Posicion.Y].G + coste) // Si el coste es menor
     {
         Mapa[actual.Posicion.X + i, actual.Posicion.Y + j].G =
             Mapa[actual.Posicion.X, actual.Posicion.Y].G + coste;
         Mapa[actual.Posicion.X + i, actual.Posicion.Y + j].Padre = Mapa[actual.Posicion.X, actual.Posicion.Y];
         Abierta.UpdatePriority(Mapa[actual.Posicion.X + i, actual.Posicion.Y + j],
                                Mapa[actual.Posicion.X + i, actual.Posicion.Y + j].F);
     }
 }