Java 在二维阵列中生成世界地图

Java 在二维阵列中生成世界地图,java,arrays,map,2d,Java,Arrays,Map,2d,我想用Java编写一个小游戏 世界地图有100个位置(每个位置要么是国家,要么是海洋)。 有6大洲,有4到15个国家。地图上有76个国家和24个海域。 每个大陆与另一个至少有一个国家的大陆相连 例如: 正如你所看到的,黄色大陆在地图的底部继续延伸 我正在考虑将世界地图存储在2D数组中。好/坏主意? 为了绘制地图,我将确定国家的大小,随机选取一个点,并以随机方向填充数组以构建国家 这是好办法吗 "Is this the good approach?" 这个问题很难回答,因为它很主观。2D阵列可

我想用Java编写一个小游戏

世界地图有100个位置(每个位置要么是国家,要么是海洋)。 有6大洲,有4到15个国家。地图上有76个国家和24个海域。 每个大陆与另一个至少有一个国家的大陆相连

例如:

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

我正在考虑将世界地图存储在2D数组中。好/坏主意? 为了绘制地图,我将确定国家的大小,随机选取一个点,并以随机方向填充数组以构建国家

这是好办法吗

"Is this the good approach?"
这个问题很难回答,因为它很主观。2D阵列可以工作,但如果以后要添加其他数据/功能,则可能会受到限制。例如,如果您一开始使用一个颜色数组,但后来想添加军队/诸如此类的东西,那么您必须更改数组类型,可能是一个自定义
平铺
对象

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


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

您是否有地图,并希望计算国家的大小?