Idee: Wir fügen alle Zellen des Weges in die todo-Liste ein und machen dann eine Wegfindung.
labyrinth.main.py, importieren Sie die Funktion und rufen Sie diese am Schluss von main.py mit korrekten Parametern auf.main.py.Das Problem ist, dass sämtlicher erreichbarer Platz von einer Weg-Zelle aus gefüllt wird, d.h. der korrekte Weg ist ein langer Schlauch mit nur so vielen Abzweigungen, wie es zusammenhängende weisse Flächen hat.
Wir können mehr Verzweigungen einbauen, wenn man hin und wieder die todo-Liste verwürfelt:
wegkomplettieren.py, importieren Sie zusätzlich die randrange-Funktion von der random Bibliothek. (Mehrere Funktionen sind durch Kommas zu trennen).if randrange(15)==0: shuffle(todo)
main.py nochmals testen.Damit noch mehr Abzweigungen in den Weg eingebaut werden, können die Weg-Zellen nach hinten sortiert werden, indem die todo-Liste nach dem verwürfeln nach der Markierung sortiert wird:
todo.sort(key=lambda x:x.mark, reverse=True)