====== Wegfindungsalgorithmen ====== Ziel ist es, dass Sie ihren Wegfindungsalgorithmus in Python übersetzen und auf verschiedenen Labyrinthen testen. ===== Nützliche Code Schnipsel ===== ==== Labyrinth laden ==== Beispiellabyrinthe gibt es hier: {{lehrkraefte:blc:informatik:glf25:labyrinthe:labs.zip}}. Entpacken Sie die Dateien ins gleiche Verzeichnis, wo sich ihre Programme und die Klassen befinden. **Von Datei laden** from laby import Laby from zelle import Zelle l = Laby.load("10x07-06.txt") print(l) **In Datei speichern** # l enthält eine Instanz der Klasse Laby l.save("meineloesung.txt") ==== Start und Ziel markieren ==== l[0,0].mark = "S" l[l.breite-1, l.hoehe-1].mark = "Z" ==== Erreichbare Nachbarszellen ==== aktuell = l[2,4] # eine Zelle des Labyrinths for dir in range(4): # Alle Richtungen durchgehen if aktuell.offen[dir]: # Wand in die Richtung ist offen nb = aktuell.nachbar(dir) # Nachbarszelle (oder None, wenn es diese nicht gibt) if nb!=None: # Nur wenn es diese Zelle auch gibt (Mauern am Rand könnten auch offen sein) # Tu wat mit nb nb.mark = "X" aktuell = nb break # for-Schleife sofort beenden (evtl. weitere Nachbarn ignorieren)