生成2D数组中的世界地图

时间:2013-03-30 10:05:18

标签: java arrays map 2d

我正在尝试用Java编写一个小游戏。

世界地图有100个地点(每个地点都是国家或海洋)。 有6大洲,有4到15个国家。该地图有76个国家和24个海域。 每个大陆都与另一个拥有至少一个国家的大陆相连。

示例:

Map

正如你所看到的,黄色大陆继续在地图的底部。

我想将世界地图存储在2D数组中。不好/好主意? 为了构建地图,我将确定国家的大小,选择一个随机点并随机填充数组以构建国家。

这是一个好方法吗?

1 个答案:

答案 0 :(得分:0)

"Is this the good approach?"

这个问题有点难以回答,因为非常主观。 2D阵列可以工作,但如果您想稍后添加其他数据/功能,则可能会有限制。例如,如果你开始使用颜色数组,但是想要添加军队/诸如此类的东西,则必须将数组类型更改为自定义Tile对象。 ..

如果是我的游戏,我会构建一个界面(然后是一个自定义类)来表示WorldMap。我定义了对我的游戏有意义的方法,比如setCountry()。现在最后我可能会用2D数组(至少开始)来支持它,但是通过先前创建一个接口,您可以更轻松地在以后添加功能。也许有一天你想要一个动态大小的世界,现在你可以在不改变所有游戏逻辑的情况下,将2D数组与其他系列交换出来。

您的“填写地图”问题是另一个悬而未决的问题,因为如果您只是随机填充,我可以看到可能会强制执行您的连接规则的问题。