所以,我在考虑制作一个简单的随机世界生成器。这个发生器会创建一个起始“单元”,它有一到四个随机出口(在基本方向上,像迷宫)。在决定完成这些退出之后,我会在每个出口处生成一个新的随机“单元格”,并在玩家接近世界尚未生成的部分时重复。这个概念将允许一个“无限”的世界各种随机生成的世界。然而,我不确定如何在内部最好地表达这一点。随机世界的数据结构
我使用C++(这并不重要,我可以实现任何必要的数据结构)。起初,我想过使用一种有向图,其中每个节点都将边定向到周围的每个单元,但如果用户在世界中找到一个点,回溯到这个点,那么这可能不会奏效从另一个方向点。世界可能会做一些奇怪的事情,比如在一个地方生成两个单元格。
对于这种情况,哪种数据结构可能最有效?还是我在随机的世代中做一些真正愚蠢的事情?
任何帮助将不胜感激。 谢谢, Chris
我不能相信我没有想到这一点,它的这样一个简单的解决方案和快速。 – 2010-10-22 17:02:52
正如@Nathon提到的一个新单元格一样,一定要检查相邻单元格是否存在,并根据需要创建/防止进入这些相邻单元格的门。 – jholl 2010-10-22 17:09:51