Table of Contents

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: 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)