Foros del Web » Programación para mayores de 30 ;) » C/C++ »

¿cómo generar un laberinto al azar?

Estas en el tema de ¿cómo generar un laberinto al azar? en el foro de C/C++ en Foros del Web. Primero que nada, sólo pido ideas, no código, no quiero que me hagan la "tarea" ni nada parecido (en realidad estudio por mi cuenta xD). ...
  #1 (permalink)  
Antiguo 18/12/2012, 18:46
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
¿cómo generar un laberinto al azar?

Primero que nada, sólo pido ideas, no código, no quiero que me hagan la "tarea" ni nada parecido (en realidad estudio por mi cuenta xD).

El laberinto debe estar contenido en un arreglo bidimensional de caracteres.

Bueno, aquí les pongo lo (poco) que se me ha ocurrido.

1.- Generar la posición de la "entrada" y de la "salida" al azar en los extremos del arreglo, las única s limitante serían que deben estar separados mínimo por un espacio (que sería pared), y que ni la entrada ni la salida deben de estar en las 4 esquinas, o sea algo así:

Código C++:
Ver original
  1. ##E#S#
  2. #    #
  3. ######

Y entonces llenar todos los extremos del arreglo con pared.

2.- Ir al azar avanzando para formar el camino de la entrada a la salida, con la condición de que no se amontonen las "casillas" (cada casilla sería una posicion del arreglo), con amontonar me refiero a que no se hagan nudos, sino que sea completamente lineal, no sé si me explico, que no haya camino con doble esperos, por así decirlo, sinoq ue igual deba estar separado por una "pared", aunque las paredes aún no estén puestas.

Mi PROBLEMA llega aquí, ¿cómo hacer las "ramificaciones" para que el laberinto no sea un simple camino de la entrada a la salida, sino que haya bifurcaciones y todo eso que no lleven a ningún lado (como en todo laberinto, pues)?

Les agradecería mucho ideas, comentarios, etc.

¡Saludos! y de antemano, gracias.
  #2 (permalink)  
Antiguo 19/12/2012, 01:52
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: ¿cómo generar un laberinto al azar?

Generar laberintos no es algo trivial y más dependiendo del tipo de complejidad que le quieras dotar (como por ejemplo los bucles). Hace tiempo que lei sobre ello y te recomiendo este enlance de la wiki que está muy bien explicado:

http://en.wikipedia.org/wiki/Maze_generation_algorithm
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: laberinto
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 07:40.