from laby import Laby from zelle import Zelle import time from random import shuffle, randrange lab = Laby(8,5) # Neues Labyrinth mit allen Mauern zu # Todo-Liste enthält die Startzelle todo = [ lab[0,0] ] lab[0,0].mark = '.' # Startzell als besucht markieren # Liste mit allen Richtungen (wird dann verwürfelt) richtungen = [0, 1, 2, 3] # Solange die Todo-Liste nicht leer ist, wiederhole: while len(todo)>0: # Entferne eine Zelle aus der Todo-Liste, nenne diese «aktuell» aktuell = todo.pop() # Letzten Eintrag entfernen # Für alle Richtungen $d$ in zufälliger Reihenfolge shuffle(richtungen) for d in richtungen: # Ist Mauer in diese Richtung zu? # Gibt es in diese Richtung eine Nachbarszelle? # Ist diese noch nicht markiert? # Markieren, Mauer öffnen, aktuell und nachbar der todo-Liste hinuzfügen. # Schlaufe abbrechen pass