Table of Contents

Einheit 3: Einfachere Wegfindungsalgorithmen

Wir arbeiten weiterhin im Verzeichnis labyrinth, wo auch die Dateien laby.py und zelle.py zu finden sind.

Aufgabe 3

aufgabe3.py
from laby import Laby
 
l = Laby(4,4)
# Aktuelle Zelle, bzw. Start-Zelle
aktuell = l[0,0]
# Zelle mit S markieren
aktuell.mark = "S"
print(l)
while True:  # Endlosschleife
    fertig = True
    for dir in range(4):  # Alle Richtungen probieren
        nb = aktuell.nachbar(dir)      # Nachbar in diese Richtung (oder None, wenn es diesen nicht gibt)
        if nb!=None and nb.mark==" ":  # Noch keine Markierung?
            aktuell.zustand(dir, True) # Wand öffnen
            aktuell = nb               # weiter gehen
            aktuell.mark = "."         # Zelle markieren
            print(l)
            fertig = False
            break    # for-Schleife beenden
    if fertig:
        break    # while-Schleife beenden

Aufgabe 4

Aufgabe 5

dirs = [0,2,1,3]

Aufgabe 6

from random import shuffle
   shuffle(dirs)