Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| lehrkraefte:blc:informatik:glf25:labyrinthe:wegfindung [2026/02/15 10:18] – created Ivo Blöchliger | lehrkraefte:blc:informatik:glf25:labyrinthe:wegfindung [2026/03/17 08:58] (current) – [Dictionary nach Markierungen] Ivo Blöchliger | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| Ziel ist es, dass Sie ihren Wegfindungsalgorithmus in Python übersetzen und auf verschiedenen Labyrinthen testen. | Ziel ist es, dass Sie ihren Wegfindungsalgorithmus in Python übersetzen und auf verschiedenen Labyrinthen testen. | ||
| + | |||
| + | <code txt> | ||
| + | # aktuelle Position = Startposition | ||
| + | # Wiederhole: | ||
| + | # Alle Nachbarfelder der aktuellen Position betrachten | ||
| + | # wenn ein Nachbar mit ' | ||
| + | # | ||
| + | # wenn es einen unmarkierten Nachbar nb gibt: | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # wenn es einen Nachbar nb mit ' | ||
| + | # | ||
| + | # | ||
| + | # Beende mit " | ||
| + | </ | ||
| ===== Nützliche Code Schnipsel ===== | ===== Nützliche Code Schnipsel ===== | ||
| ==== Labyrinth laden ==== | ==== Labyrinth laden ==== | ||
| Line 44: | Line 61: | ||
| + | ==== Dictionary nach Markierungen ==== | ||
| + | Idee: Für jede vorhandene Markierung um eine aktuelle Zelle generiert man eine Liste mit Zellen mit dieser Markierung, z.B. | ||
| + | '' | ||
| + | |||
| + | <code python> | ||
| + | nachbarn = {} # Leerer dictionary | ||
| + | aktuell = l[2, | ||
| + | for dir in range(4): | ||
| + | if aktuell.offen[dir]: | ||
| + | nb = aktuell.nachbar(dir) | ||
| + | if nb!=None: | ||
| + | if nb.mark in nachbarn: # Markierung gibt es schon | ||
| + | nachbarn[nb.mark].append(nb) | ||
| + | else: | ||
| + | nachbarn[nb.mark] = [nb] # Sonst neue Liste mit einem Eintrag | ||
| + | | ||
| + | </ | ||
| + | ==== Testen, ob ein Dictionary einen Schlüssel hat ==== | ||
| + | <code python> | ||
| + | d = {" | ||
| + | if " | ||
| + | | ||
| + | if not " | ||
| + | | ||
| + | </ | ||