Ich experimentiere mit dem Schreiben eines Spiels in einem funktionalen Programmierstil, was bedeutet, den Spielzustand mit einer rein funktionalen, unveränderlichen Datenstruktur darzustellen.
Eine der wichtigsten Datenstrukturen wäre ein 3D-Raster, das die Welt darstellt, in der Objekte an einem beliebigen Ort [x, y, z] gespeichert werden können. Die Eigenschaften, die ich für diese Datenstruktur haben möchte, sind:
Irgendwelche Vorschläge zur optimalen Datenstruktur?
P.S. Ich weiß, dass dies vielleicht nicht die praktischste Art ist, ein Spiel zu schreiben, ich mache es nur als Lernerfahrung und um meine Fähigkeiten mit FP zu erweitern ......
Ich würde einen Octtree versuchen. Die Grenzkoordinaten jedes Knotens sind implizit in der Strukturplatzierung, und jeder nichtterminale Knoten behält 8 Teilbäume, aber keine Daten. Sie können so "vereinigen", um Platz zu gewinnen.
Ich denke, dass Unveränderlich und Unbegrenzt (im Allgemeinen) widersprüchliche Anforderungen sind.
Wie auch immer ... um einen Octtree wachsen zu können, müssen Sie die Wurzel ersetzen.
Andere Anforderungen, die Sie stellen, sollten erfüllt werden.
Tags und Links language-agnostic data-structures functional-programming