我正在尝试用 Java 编写一个小游戏。
世界地图有 100 个位置(每个位置要么是一个国家,要么是一个海洋)。有 6 大洲有 4 到 15 个国家。该地图有 76 个国家和 24 个海洋。每个大陆都与另一个至少有 1 个国家的大陆相连。
例子:
如您所见,黄色大陆继续位于地图底部。
我正在考虑将世界地图存储在二维数组中。坏/好主意?为了构建地图,我将确定国家的大小,选择一个随机点并以随机方向填充数组以构建国家。
这是好方法吗?
"Is this the good approach?"
这个问题有点难以回答,因为它非常主观。二维数组可以工作,但如果您想稍后添加其他数据/功能,可能会受到限制。例如,如果您从一组 Colors 开始,但后来想添加 armies/whatnot,则必须更改数组类型,也许是自定义Tile
对象...
如果是我的游戏,我会构建一个接口(然后是一个自定义类)来表示 WorldMap。我会定义setCountry()
对我的游戏有意义的方法,例如 。现在最后我可能会用一个 2D 数组来支持它(至少在开始时),但是通过预先创建一个界面,你可以更容易地在以后添加功能。也许有一天您想要一个动态大小的世界,而现在您只需将 2D 数组替换为其他集合,而无需更改所有游戏逻辑。
您的“填写地图”问题是另一个悬而未决的问题,因为如果您只是随机填写,我可以看到可能执行您的连接规则的问题。