Implementieren eines zufällig generierten Labyrinths mit Prims Algorithmus

ch versuche, ein zufällig erzeugtes Labyrinth mit Prims Algorithmus zu implementiere

Ich möchte, dass mein Labyrinth so aussieht:

Allerdings sehen die Labyrinthe, die ich aus meinem Programm generiere, so aus:

Ich bin momentan nicht mehr in der Lage, die fett hervorgehobenen Schritte korrekt umzusetzen:

Starten Sie mit einem Gitter voller Wände.Wählen Sie eine Zelle aus und markieren Sie sie als Teil des Labyrinths. Fügen Sie die Wände der Zelle zur Wandliste hinzu.Während die Liste Wände enthält: ** 1. Wähle eine zufällige Wand aus der Liste. Wenn sich die Zelle auf der gegenüberliegenden Seite noch nicht im Labyrinth befindet:Bilden Sie aus der Wand einen Durchgang und markieren Sie die Zelle auf der gegenüberliegenden Seite als Teil des Labyrinths. **ügen Sie der Wandliste die benachbarten Wände der Zelle hinzEntfernen Sie die Wand aus der Liste.

vondieser Artikel über Labyrinth-Generierung.

Wie bestimme ich, ob eine Zelle ein gültiger Kandidat für die Wandliste ist? Ich möchte meinen Algorithmus so ändern, dass er ein korrektes Labyrinth erzeugt. Alle Ideen, die mir helfen würden, mein Problem zu lösen, würden geschätzt.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage