Clone
2
Algorithmen/Wave Function Collapse
Alfred Baumann edited this page 2026-06-09 13:48:39 +02:00

Beschreibung

Dieser Algorithmus löst das Spiel, in dem es mit verschiedenen Regeln festlegt, in welche richtungen eine Zelle zeigen kann. Danach geht es immer wieder das Feld durch und wählt die Zelle aus mit den wenigsten noch möglichen Richtungen. Aus den noch möglichen Richtungen wählt es dann eine davon aus und legt diese als Richtung für diese Zelle fest. Als letztes geht es dann alle Regeln durch und erneuert die mögliche richtungen für alle restlichen zellen. Das Ganze wird dann wiederholt bis alle Zellen eine Festgelegte Richtung haben.

Top-Down

  • Spiel lösen
    • Mögliche richtungen feststellen
      • Festgelegte nachbaren analysieren
    • Richtung für eine Zelle festlegen

Pseudocode

festgelegt = 2d-array(value=false, width=breite, height=hoehe)
moegliche_richtungen = 2d-array(value=(up, down, left, right), width=breite, height=hoehe)

while not solved:
    festlegen = min(zellen, key=len(moegliche_richtungen[festlegen]))
    festlegen.direction = moegliche_richtungen[festlegen]
    for zelle in festlegen.nachbaren:
        update_richtungen(moegliche_richtungen[zelle])