Foros del Web » Programación para mayores de 30 ;) » Java »

Duda en implementación dada

Estas en el tema de Duda en implementación dada en el foro de Java en Foros del Web. Hola a todos, estoy desarrolando un juego usando el A*, y tengo esta implementación . Entiendo el algoritmo, pero tengo una duda en las partes ...
  #1 (permalink)  
Antiguo 14/04/2015, 04:26
 
Fecha de Ingreso: octubre-2008
Mensajes: 184
Antigüedad: 11 años
Puntos: 1
Duda en implementación dada

Hola a todos,
estoy desarrolando un juego usando el A*, y tengo esta implementación .

Entiendo el algoritmo, pero tengo una duda en las partes subrayadas.
Mi primera duda (g(N’) = g(N) ;f(N’) = g(N’) + h(N’)) es en esta parte. Aquí, comprueba si el valor g(n) del nodo actual es inferior al alguno de frontera en cuyo caso lo sustituye, para eso crea un puntero de n a n'. Si esto es correcto, actualizar el valor del g(n') con el del g(n) pero luego no hace lo mismo con el h(n'). ¿esto es un errata o hay algo que se me pasa?

La segunda parte, creo que lo hace es comprobar si alguno camino posible del nodo g(n') actual es mejor que el nuevo valor conseguido g(n), y si no es así lo coge.

Saludos y gracias a todos.
  #2 (permalink)  
Antiguo 14/04/2015, 07:01
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 10 años, 6 meses
Puntos: 306
Respuesta: Duda en implementación dada

Échale un vistazo a esto

http://www.lanshor.com/pathfinding-a-estrella/
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 16/04/2015, 05:33
 
Fecha de Ingreso: octubre-2008
Mensajes: 184
Antigüedad: 11 años
Puntos: 1
Respuesta: Duda en implementación dada

Muchas gracias,
voy a leerlo detenidamente y comentaré por aquí.

Muchas gracias!

Etiquetas: valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:45.