mik*_*era 8 language-agnostic functional-programming data-structures
我正在尝试用函数编程风格编写游戏,这意味着用纯粹功能的,不可变的数据结构来表示游戏状态.
最重要的数据结构之一是表示世界的3D网格,其中对象可以存储在任何[x,y,z]网格位置.我想要这个数据结构的属性是:
有关最佳数据结构的建议吗?
PS我知道这可能不是最实用的写游戏方式,我只是把它作为一种学习经验并用FP来扩展我的能力......
我会尝试八叉树。每个节点的边界坐标在结构放置中是隐式的,每个非终端节点保留8个子树但没有数据。因此,您可以通过“联合”来获得空间。
我认为不可变和无界(通常)是相互冲突的要求。
无论如何......要生长八叉树,您必须更换根。
您提出的其他要求应得到满足。