Miklix

Jagen und Töten Labyrinth Generator

Veröffentlicht: 16. Februar 2025 um 20:52:24 UTC
Zuletzt aktualisiert: 12. Januar 2026 um 09:04:53 UTC

Labyrinthgenerator, der den Hunt-and-Kill-Algorithmus verwendet, um ein perfektes Labyrinth zu erstellen. Dieser Algorithmus ähnelt dem Recursive Backtracker, erzeugt aber tendenziell Labyrinthe mit etwas kürzeren, gewundenen Gängen.

Diese Seite wurde maschinell aus dem Englischen übersetzt, um sie so vielen Menschen wie möglich zugänglich zu machen. Leider ist die maschinelle Übersetzung noch keine ausgereifte Technologie, so dass Fehler auftreten können. Wenn Sie es vorziehen, können Sie sich die englische Originalversion hier ansehen:

Hunt and Kill Maze Generator

Der Hunt-and-Kill-Algorithmus ist im Grunde eine modifizierte Version des rekursiven Backtrackers. Die Modifikation besteht darin, systematisch nach einer neuen Zelle zu suchen (oder „zu suchen“), von der aus die Suche fortgesetzt werden kann, wenn kein weiterer Fortschritt möglich ist. Dies steht im Gegensatz zu einer echten rekursiven Suche, die immer zur vorherigen Zelle im Stack zurückkehrt.

Daher lässt sich dieser Algorithmus leicht anpassen, um Labyrinthe mit unterschiedlichem Erscheinungsbild zu generieren, indem man einfach häufiger oder nach bestimmten Regeln in den „Jagdmodus“ wechselt. Die hier implementierte Version wechselt nur dann in den „Jagdmodus“, wenn sie sich nicht weiter von der aktuellen Zelle entfernen kann.

Ein perfektes Labyrinth ist ein Labyrinth, in dem es genau einen Weg von jedem Punkt des Labyrinths zu jedem anderen Punkt gibt. Das bedeutet, dass man sich nicht im Kreis drehen kann, sondern oft auf Sackgassen stößt, die einen zwingen, umzudrehen und zurückzugehen.

Die hier generierten Labyrinthkarten enthalten eine Standardversion ohne Start- und Zielpositionen, so dass Sie diese selbst bestimmen können: Es gibt eine Lösung von jedem Punkt des Labyrinths zu jedem anderen Punkt. Wenn Sie sich inspirieren lassen möchten, können Sie eine vorgeschlagene Start- und Zielposition aktivieren - und sogar die Lösung zwischen den beiden Punkten sehen.


Neues Labyrinth generieren








Über den Jagd- und Tötungsalgorithmus

Der Hunt-and-Kill-Algorithmus ist eine einfache, aber effektive Methode zur Generierung von Labyrinthen. Er ähnelt der Tiefensuche (z. B. dem rekursiven Backtracker-Algorithmus), mit dem Unterschied, dass er, sobald er sich nicht weiter von der aktuellen Position entfernen kann, das Labyrinth systematisch durchsucht (oder „jagt“), um eine neue Zelle für den weiteren Weg zu finden. Der Algorithmus besteht aus zwei Hauptphasen: dem Durchlaufen und der Suche.

Wie der Jagd- und Tötungsalgorithmus bei der Labyrinthgenerierung funktioniert

Schritt 1: Beginnen Sie mit einer zufälligen Zelle

  • Wähle eine zufällige Zelle im Raster aus und markiere sie als besucht.

Schritt 2: Gehphase (Zufallsgang)

  • Wähle einen zufälligen, noch nicht besuchten Nachbarn.
  • Gehe zu diesem Nachbarn, markiere ihn als besucht und zeichne einen Pfad zwischen der vorherigen und der neuen Zelle.
  • Wiederholen Sie den Vorgang, bis keine unbesuchten Nachbarn mehr übrig sind.

Schritt 3: Suchphase (Zurückverfolgen durch Scannen)

  • Durchforsten Sie das Raster Zeile für Zeile (oder Spalte für Spalte).
  • Finde die erste unbesuchte Zelle, die mindestens einen besuchten Nachbarn hat.
  • Verbinde diese Zelle mit einer bereits besuchten Nachbarzelle, um die Gehphase fortzusetzen.
  • Wiederholen Sie den Vorgang, bis alle Zellen besucht wurden.

Weitere Informationen

Wenn Ihnen dieser Beitrag gefallen hat, könnten Ihnen auch diese Vorschläge gefallen:


Teilen auf BlueskyAuf Facebook teilenAuf LinkedIn teilenAuf Tumblr teilenTeilen auf XAuf LinkedIn teilenPin auf Pinterest

Mikkel Christensen

Über den Autor

Mikkel Christensen
Mikkel ist der Schöpfer und Eigentümer von miklix.com. Er verfügt über mehr als 20 Jahre Erfahrung als professioneller Computerprogrammierer/Softwareentwickler und ist derzeit in Vollzeit für ein großes europäisches IT-Unternehmen tätig. Wenn er nicht gerade bloggt, verbringt er seine Freizeit mit einer Vielzahl von Interessen, Hobbys und Aktivitäten, was sich bis zu einem gewissen Grad in der Vielfalt der auf dieser Website behandelten Themen widerspiegelt.