Comunidad de diseño web y desarrollo en internet online

Código/Técnica para salir de un laberinto.

Citar            
MensajeEscrito el 27 Ene 2012 08:35 pm
Estoy intentando programar un mini juego parecido a 'Los sims', es decir, una casa con muebles por donde puedes caminar y estoy atascado en el tema de caminar.

He creado un código que dado un punto de origen y uno de destino te calcula la ruta mas corta para llegar a ese punto.

Si hay muchos obstáculos de tal manera que solo haya una ruta posible para llegar, el código te calcula esa ruta de forma instantánea, el problema es que si tengo el tablero sin ningún obstáculo, hay tantos sitios por donde llegar al destino que tarda más de 15 segundos en encontrar el camino.

El código está echo con backtracking, y he aplicado las mejoras de 'Marcaje' y 'Poda basada en la mejor solución', y creo que no puedo hacer que el código funcione más rápido.

Hay algún otro método de encontrar la salida de un laberinto que sea más rápido que Backtracking? como se llama?

Gracias.

PD: Si hay alguna forma de llegar al destino el código tiene que encontrarla, no puede ser que se acerque al punto de destino pero se quede en un obstáculo próximo en forma de U.

Por netkuup

31 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Ene 2012 12:23 pm
Si usas tiles, el algoritmo mas balanceado y mas usado es A* (y en un mapa vacío va casi recto), el que nombras de backtracking no lo conocía.

Jorge

PD: totalmente en desacuerdo con lo de subir fla de ejemplo que pones en tu firma, el resto me parece bien. Aquí cuento por que http://foros.cristalab.com/baja-y-arregla-mi-archivo-t56378/

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.