lehrkraefte:blc:informatik:glf24:laby:wegfinden

This is an old revision of the document!


Einheit 3: Wegfindungsalgorithmen

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

  • Speicher Sie folgendes Programm als aufgabe3.py im Verzeichnis labyrinth:
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
  • Führen Sie es aus
  • Studieren und verstehen Sie das Programm.
  • Können Sie die einzelnen Schritte nachvollziehen und erklären, warum das entstehende Labyrinth so aussieht wie es aussieht?
  • Im Programm aufgabe3.py, kommentieren Sie die letzte Zeile mit dem break aus.
  • Können Sie das Resultat vorraussagen?
  • Führen Sie das Programm aus. Können Sie das Resultat erklären?
  • Im Programm aufgabe3.py, stellen Sie die letzte Zeile mit dem break wieder her.
  • Fügen Sie folgende Zeile unmittelbar vor der while Schlaufe ein:
dirs = [0,2,1,3]
  • Ersetzen Sie dann in der for-Schleife den range(4) durch dirs.
  • Können Sie das Resultat vorraussagen?
  • Führen Sie das Programm aus. Können Sie das Resultat erklären?
  • Immer noch im Programm aufgabe3.py, fügen Sie folgende Zeile als zweite Zeile in der Datei ein:
from random import shuffle
  • Fügen Sie dann folgende Zeile unmittelbar vor der for-Schleife ein, und achten Sie auf korrekte Einrückung:
   shuffle(dirs)
  • Führen Sie das Programm mehrfach aus und erklären Sie das Resultat. Und die shuffle-Funktion macht genau das, was ihr Name sagt.
  • lehrkraefte/blc/informatik/glf24/laby/wegfinden.1747140724.txt.gz
  • Last modified: 2025/05/13 12:52
  • by Ivo Blöchliger