====== Einheit 5: Weg auf schwarzen Pixeln erweitern ======
Die Grundidee ist folgende:
* Man sucht zwei aufeinanderfolgende Zellen im Weg, so dass die beiden Zellen daneben schwarz, aber nicht auf dem Weg sind (z.B. Zellen a und b, oder c und d im folgendend Bild):
+---+---+---+---+---+---+ +
| | | | | | d # |
+---+---+---+---+---+ +---+
| | | a b | | c | |
+---+---+ + +---+ +---+
* Die Wand zwischen a,b wird dann gesetzt, und der Weg über die zwei benachbarten Zellen x, y umgeleitet:
+---+---+---+---+---+---+ +
| | | x y | | d # |
+---+---+ + +---+ +---+
| | | a | b | | c | |
+---+---+ + +---+ +---+
* Das wiederholt man so lange, wie das möglich ist. Die Zellen werden zufällig ausgewählt, damit keine «geraden Korridore» entstehen.
* Damit man nicht alle 4 Fälle programmieren muss, wird mit Operationen auf der Richtung (wie ein Winkel) gearbeitet.
* ist ''dir'' die Richtung, sind ''(dir+1)%4'' und ''(dir+3)%4'' die dazu rechtwinkligen Richtungen.
* Die Klasse ''Zelle'' hat eine Methode ''dirTo(other)'', die die Richtung zu einer anderen Zelle berechnet.
* Speichern Sie die Datei {{lehrkraefte:blc:informatik:glf24:laby:wegerweiterung.py}} im Verzeichnis ''labyrinth''.
* Studieren Sie den Code der Datei ''wegerweiterung.py''
* In der Datei ''main.py'', importieren Sie die Funktion wie folgt:
from wegerweiterung import wegerweiterung
* Rufen Sie die Funktion am Ende in der Datei ''main.py'' wie folgt auf:
wegerweiterung(weg)
* Zeigen das Labyrinth am Schluss wieder an.
* Testen Sie das Programm ''main.py''.