Miklix

Caça i mata generador de laberints

Publicat: 6 de març del 2025, a les 11:17:37 UTC
Última actualització: 12 de gener del 2026, a les 9:05:24 UTC

Generador de laberints que utilitza l'algoritme Hunt and Kill per crear un laberint perfecte. Aquest algorisme és similar al Recursive Backtracker, però tendeix a generar laberints amb passadissos una mica menys llargs i sinuosos.

Aquesta pàgina es va traduir automàticament de l'anglès per tal de fer-la accessible al màxim de persones possible. Malauradament, la traducció automàtica encara no és una tecnologia perfeccionada, de manera que es poden produir errors. Si ho prefereixes, pots veure la versió original en anglès aquí:

Hunt and Kill Maze Generator

L'algoritme Hunt and Kill és en realitat una versió modificada del Recursive Backtracker. La modificació consisteix a escanejar (o "caçar") sistemàticament una nova cel·la per continuar des de quan ja no pot anar més enllà, a diferència d'una veritable cerca recursiva, que sempre tornarà a la cel·la anterior de la pila.

Per això, aquest algoritme es pot adaptar fàcilment per generar laberints amb diferents aspectes i sensacions, simplement triant entrar en mode "caça" més sovint o segons regles específiques. La versió implementada aquí només entra en mode "caça" quan no pot anar més lluny de la cel·la actual.

Un laberint perfecte és un laberint en el qual hi ha exactament un camí des de qualsevol punt del laberint fins a qualsevol altre punt. Això vol dir que no pots acabar donant voltes, però sovint et trobaràs amb carrerons sense sortida, obligant-te a donar la volta i tornar enrere.

Els mapes de laberint generats aquí inclouen una versió predeterminada sense cap posició d'inici i d'arribada, de manera que les podeu decidir vosaltres mateixos: hi haurà una solució des de qualsevol punt del laberint fins a qualsevol altre punt. Si voleu inspiració, podeu activar una posició d'inici i d'arribada suggerida, i fins i tot veure la solució entre les dues.


Genera un laberint nou








Sobre l'algoritme de caça i mort

L'algoritme Hunt and Kill és un mètode senzill però eficaç per generar laberints. És una mica similar a una cerca en profunditat (és a dir, l'algoritme Recursive Backtracker), excepte que quan no pot anar més lluny de la posició actual, escaneja (o "caça") sistemàticament el laberint per trobar una nova cel·la des de la qual procedir. L'algoritme consta de dues fases principals: caminar i caçar.

Com funciona l'algoritme Hunt and Kill per a Maze Generation

Pas 1: Comenceu en una cel·la aleatòria

  • Troba una cel·la aleatòria a la quadrícula i marca-la com a visitada.

Pas 2: Fase de marxa (caminada aleatòria)

  • Trieu un veí a l'atzar que no es visiti.
  • Mou-te a aquesta cel·la veïna, marca-la com a visitada i crea un camí entre la cel·la anterior i la nova.
  • Repetiu-ho fins que no quedin veïns sense visitar.

Pas 3: Fase de caça (retrocés mitjançant escaneig)

  • Escaneja la quadrícula fila per fila (o columna per columna).
  • Troba la primera cel·la no visitada que tingui com a mínim un veí visitat.
  • Connecta aquesta cel·la a un veí visitat per reprendre la fase de caminada.
  • Repetiu fins que s'hagin visitat totes les cel·les.

Lectures addicionals

Si t'ha agradat aquesta publicació, també et poden agradar aquests suggeriments:


Comparteix a BlueskyComparteix a FacebookComparteix a LinkedInComparteix a TumblrComparteix a XComparteix a LinkedInPin a Pinterest

Mikkel Christensen

Sobre l'autor

Mikkel Christensen
Mikkel és el creador i propietari de miklix.com. Té més de 20 anys d'experiència com a programador/desenvolupador de programari informàtic professional i actualment treballa a temps complet per a una gran corporació informàtica europea. Quan no fa blocs, dedica el seu temps lliure a una gran varietat d'interessos, aficions i activitats, que fins a cert punt es poden reflectir en la varietat de temes tractats en aquest lloc web.