leistungsnachweis-smooth-operators

Labyrintherstellung

Projektarbeit im Rahmen der Veranstaltung Algorithmen und Datenstrukturen II

Installationshinweise

Um den Go-Sourcecode laufen zu lassen werden keine weiteren Installationen benötigt als für die übliche Verwendung von Go-Projekten. Zu beachten ist, dass für die graphische Darstellung der Labyrinthe in der Console ANSI-Steuerzeichen verwendet werden. Wenn das Terminal inkompatibel zu diesen ist, empfiehlt es sich, die optionale Flag “-visual” nicht zu setzen.

Nutzungshinweise

Dieses Projekt bietet die Möglichkeit der Labyrintherstellung auf Basis zweier Algorithmen. Der Benutzer hat die Wahl zwischen einem Backtracking- und einem Kruskalalgorithmus.

Der gewählte Algorithmus wird als letzter Parameter auf der Kommandozeile angegeben:

Backtracking

go run main.go b

Backtracking algorithm example animation

Kruskal

go run main.go k

Kruskal algorithm example animation

Optionale Flags


Anzahl der Spalten in dem zu generierenden Labyrinth.
Standardmäßig auf den Wert 8 gesetzt.


```-r=4```

Anzahl der Zeilen in dem zu generierenden Labyrinth.
Standardmäßig auf den Wert 4 gesetzt.


```-visual```

Bei gesetztem Flag wird das Labyrinth bei jedem Generierungsschritt mit ASCII-Art in das Terminal gezeichnet.
Standardmäßig deaktiviert.


```-silent```

Bei gesetztem Flag wird die Ausgabe des Labyrinths in Form einer Adjazentmatrix unterdrückt.
Standardmäßig deaktiviert.


### Beispielaufruf

go run main.go -c=16 -r=20 -visual -silent b ```

Generiert mit dem Backtracking-Algorithmus ein Labyrinth mit 16 Spalten und 20 Zeilen, illustriert jeden Schritt grafisch und gibt nach Generierung keine Adjazenzmatrix aus.

Format der Adjazenzmatrix