This is an old revision of the document!
Labyrinthe
Eigentlich sprechen wir hier von Irrgärten, Labyrinthe bestehen eigentlich aus genau einem Weg ohne Verzweigungen.
Wir betrachten ein rechteckiges Raster (wie z.B. karriertes Papier), bestehend aus einzelnen Zellen.
Jede Zelle hat vier Nachbarn, in den von 0 bis 3 nummerierten Richtungen links, unten, rechts, oben (trigonometrisch, wenn $y$ nach unten zeigt).
Folgendes ist definiert:
- Grösse vom Layrinth (
widthundheight). - Zell-Koordinaten gehen für $x$ von
0biswidth-1(links nach rechts) und für $y$ von0bisheight-1(oben nach unten). - Auslesen der «Koordinaten» einer Zelle.
- Zugriff auf eine Zelle via Koordinaten.
- Markierung (ein Buchstabe oder Symbol) auf einer Zelle auslesen oder festlegen.
- Existenz einer Mauer von einer Zelle in die vier Richtungen auslesen oder festlegen.
- Bewegung zur einer Nachbarszelle in die vier Richtungen.
Mit obigen Bausteinen schreiben Sie einen Algorithmus in Pseudocode, um den Weg durch ein Labyrinth zu finden, wobei die Startzelle mit S und die Zielzelle mit Z markiert ist.