Hola amigos de T! he incursionado en el mundo de la programación y les quiero mostrar algo que hice estando al pedo. Se trata de una aplicación web que genera laberintos de manera aleatoria, aquí una imagen del algoritmo en acción.
Este algoritmo yo lo llamo algoritmo Yandel en honor a mi segundo artista de regueton favorito, aunque algunos lo llaman Recursive backtracker pero a mi no me gusta. El funcionamiento de este algoritmo es muy simple y es el siguiente:
Pueden aprender más sobre este y otros métodos de generación de laberintos aquí https://en.wikipedia.org/wiki/Maze_generation_algorithm#Recursive_backtracker
Código fuente : https://github.com/daddyyankeeCoding/MazeGenerator
Algoritmo en funcionamiento :
Este algoritmo yo lo llamo algoritmo Yandel en honor a mi segundo artista de regueton favorito, aunque algunos lo llaman Recursive backtracker pero a mi no me gusta. El funcionamiento de este algoritmo es muy simple y es el siguiente:
- Elegir alguna celda como el inicio y hacerla la celda actual
- Elegir de manera aleatoria alguna celda adyacente a la actual que aun no haya sido visitada
- Si existen celdas adyacentes sin visitar => Quitar el muro entre las 2 celdas, Hacer la celda adyacente la actual y marcarla como visitada.
- Si no existen celdas adyacentes sin visitar => Hacer el tope de la pila la celda actual, realizar pop a la pila.
- Repetir 2,3 y 4 hasta que todas las celdas sean visitadas.
Pueden aprender más sobre este y otros métodos de generación de laberintos aquí https://en.wikipedia.org/wiki/Maze_generation_algorithm#Recursive_backtracker
Código fuente : https://github.com/daddyyankeeCoding/MazeGenerator
Algoritmo en funcionamiento :