+---+---+---+---+---+---+ | | | | + + + + +---+ + | | | | | + + +---+---+---+ + | | | | | + + +---+ + + + | | | | + +---+ +---+---+ + | | | | +---+ + +---+---+ + | | | | +---+---+---+---+---+---+
In einem Raster sollen Labyrinthe gelöst und erzeugt werden.
Zur Verfügung steht eine Klasse, die eine zeilenweise ASCII-Art Darstellung des Labyrinths enthält und manipulieren kann.
l = Laby(5,8): Erzeugt ein leeres Raster der Grösse 5×8 (alle Verbindungen geschlossen).l.w und l.h sind die Breite und Höhe des Rasters (Anzahl Zellen).l.setMark(x,y,c) und l.getMark(x,y). Default-Inhalt ist ein Leerschlag.l.dirs, von 0 bis 3, trigonometrisch von 0˚ bis 270˚.l.canGo(x,y,d) und l.setGo(x,y,d,True/False)a,b = l.move(x,y,d) liefert die verschobenen Koordinaten von (x,y) in Richtung d.l.on(x,y) liefert True, wenn (x,y) im Raster.l.neu() generiert ein leeres Raster mit allen Verbindungen geschlossen.l.load(datei), l.save(datei), tut was man vermutet.