Algoritmo de búsqueda A* (A Estrella)

Implementación del algoritmo de búsqueda A* o A Estrella en Javascript.

Demo

Ejemplo de uso:

let grid = new Table(cols, rows);

  ...  // Llenar tablero

const astar = new AStar(grid);

Para instanciar la clase AStar debemos pasarle al constructor una implementación de la clase Grid, en la que se representan los obstáculos del tablero. (Ver Table como referencia de implementación).

let n1 = grid.getNode(x1, y1); // Obtenemos el nodo 1 en la posición x1, y1
let n2 = grid.getNode(x2, y2); // Obtenemos el nodo 2 en la posición x2, y2

const route = astar.route(n1, n2); // Cálculo del camino más corto

Finalmente, obtenemos el camino más corto entre dos puntos invocando el método route de astar, pasando como parámetros los nodos que representan dichos puntos.

Si la ruta es accesible se retorna un arreglo con las posiciones que conforman el camino, de lo contrario se retorna null.

Código fuente

Este es el código fuente del proyecto:

https://github.com/sergiss/a-start

Deja un comentario