This is an old revision of the document!
Programmierprojekt: Labyrinthe mit Bildern erzeugen
Ziel sind solche Labyrinthe: herz.pdf
Der Fokus liegt darauf, die einzelnen Schritte im Detail zu verstehen. Gerade für das einlesen und bearbeiten von Bildern gibt es jede Menge an fertigen Bibliotheken (libraries). Selbstverständlich sollten für ein Softwareprodukt diese Bibliotheken verwendet werden. Wir werden aber so weit möglich, alles selber schreiben, aber externe Software für die Konvertierung und Anzeige von Bildern verwenden.
- Programmiersprache: Python.
- Verwendete Libraries: nur eigene.
- Externe Programme: VSCode, Gimp, Browser (evtl. Inkscape).
Einheit 1: Pixelbilder lesen, manipulieren, schreiben
Einheit 2: Labyrinth-Objekt
Das ist die zentrale Klasse, die alle nötigen Funktionen bereitstellt:
Einheiten 3+4: Wegfindungs Algorithmen
Wegfindungs-Algorithmen sind ganz zentral für die Erzeugung von Labyrinthen. Diese Einheit soll damit vertraut machen.
Einheit 5: Weg auf schwarzen Pixeln ausbauen
Ziel ist es, einen Weg zu erhalten, der möglichst alle Zellen besucht, die schwarzen Pixeln entsprechen.
Einheit 6: Weg auf restliche Zellen als Labyrinth ausbauen
Einheit 7: Export als SVG
Einheit 8: Optionale Verbesserungen
Funktionierende Version
Dieser Version müssen die Parameter auf der Kommandozeile übergeben werden.
Web-Version
Mit einigen Anpassungen kann der Python-Code auch im Browser ausgeführt werden: https://ofi.tech-lab.ch/2025/teach/76f5054a/laby/ Dazu muss eine geeignete Bilddatei (png, jpg) mit einer Auflösung von ca. 25 bis 100 Pixeln hochgeladen werden.
Alle Dateien für die Web-Version: web.zip