【问题标题】:Is there a better method for storing data for rooms in a dungeon generator?有没有更好的方法在地牢生成器中存储房间数据?
【发布时间】:2019-06-29 06:25:01
【问题描述】:

我目前正在为一个以 7x7 网格开始的游戏构建地牢生成算法。总共 49 个空间。其中一个空间将是一个起始房间,另一个空间将是一个出口房间。其他 47 个空间将是长度和宽度分别在 5x5 和 11x11 之间随机大小的房间。

我不希望通过程序生成房间。我想手工制作每个房间。我总共有 36 种可能的房间尺寸,我希望每种尺寸都有几个变化。目前,共有 108 间(36 x 3 变体)具有独特功能的独特客房。

目前,我正在使用 2D 数组列表,每个数组都有自己的名称,使用 1 或 0 来表示填充或空白空间,如下所示:

我的目标是获取房间的大小,然后根据其大小和 1 到 3 之间的随机数为其分配一个数组。但我觉得有更好的方法来做到这一点。存储这些数据的最佳方式是什么?二维数组是实现此目的的好方法吗?

【问题讨论】:

  • 请贴真实代码,不要发代码图片。

标签: arrays swift algorithm 2d


【解决方案1】:

如果您不想生成房间,那么您需要存储布局数据。但我认为这个地方应该在资源而不是源代码中,最简单的方法是创建文本文件并加载它们。

【讨论】:

  • 我什至不确定如何从文本文档中加载信息。
  • 您可以使用 Scanner 并遍历整个文本,但是您应该真正在第一行之前所有的 1 和 0 添加 2 个表示宽度和高度的值。下一步将是 CSV 文件并实现 csv 解析器。
猜你喜欢
  • 2014-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多