Einheit 6: Weg auf restliche Zellen als Labyrinth ausbauen

Idee: Wir fügen alle Zellen des Weges in die todo-Liste ein und machen dann eine Wegfindung.

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:

        if randrange(15)==0:
            shuffle(todo)

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)