update Algorithmen/Wave Function Collapse
@@ -1 +1,30 @@
|
|||||||
.
|
# 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])
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user