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