Os traigo otro ejemplo de aplicación que usa el algoritmo A estrella. Se trata de usarlo para resolver puzzles deslizantes tanto de 8 piezas (tablero de 3x3) como de 15 piezas (tablero de 4x4).
Los puzzle de 8 piezas, mi ordenador los resuelve rápidamente (menos de 1 minuto) aproximadamente 30 movimientos, pero los de 15 piezas tarda bastante (mas de 30 minutos), aproximadamente 70 movimientos...
El numero de cada pieza se indica por el usuario pulsando sobre el boton correspondiente al tablero, en el de 8 piezas, la pieza "vacia" es el numero 9. y en el de 15 piezas, la pieza vacia es el 16. Esto lo indica el programa haciendo que el boton que las contenga se vuelva rojo.
Una vez definido pulsar el boton "resolver".... y esperar.....
Al "poco" tiempo, (dependiendo el tipo y numero de movimientos), se rellena el listbox, con los movimientos a realizar.... podemos "navegar" (pulsando click o las teclas de flecha arriba o flecha abajo) y ver como se resuelve el puzzle...
Enlace articulo en mi blog: Enlace
Espero que os guste. Saludos
Nota:
Me gustaria mejorarlo usando la funcion "Fast", (que esta puesta en el código fuente), pero se necesita tener instalado en el ordenador el LLVM 3.1 (algo que todavia no se como hacerlo...) lo he preguntado en el foro, seguramente mejorara el rendimiento y el "rato" que hay que esperar para resolver sobre todo los puzzles de 15 (4x4).