java - 在二维数组中生成世界地图

标签 java arrays dictionary 2d

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

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

示例:

Map

正如您所看到的,黄色大陆继续位于 map 的底部。

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

这是个好方法吗?

最佳答案

"Is this the good approach?"

这个问题有点难以回答,因为它非常主观。二维数组可以工作,但如果您想稍后添加其他数据/功能,则可能会受到限制。例如,如果您一开始使用颜色数组,但随后想要添加军队/诸如此类的内容,则必须更改数组类型,也许更改为自定义Tile 对象...

如果这是我的游戏,我会构建一个接口(interface)(然后是一个自定义类)来表示世界地图。我会定义对我的游戏有意义的方法,例如 setCountry()。现在最后我可能会用 2D 数组来支持它(至少开始),但是通过预先创建一个界面,您可以更轻松地在以后添加功能。也许有一天您想要一个动态大小的世界,现在您只需将 2D 数组替换为其他集合,而无需更改所有游戏逻辑。

您的“填充 map ”问题是另一个广泛开放的问题,因为我可以看到,如果您只是随机填充,则可能会强制执行您的连接规则。

关于java - 在二维数组中生成世界地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15717265/

相关文章:

java - 多个 JButton 执行相同的任务

java - 调用 removeLocationUpdates 后位置回调不会停止

arrays - 如何使用 ngFor Angular 2 在对象数组中显示数组

arrays - 将不同的自定义单元格类型放入表格 View 中

jquery - jquery 中 JSON 到关联数组

python - 为什么在使用用户定义的对象作为键时,Python 中的字典查找总是比较慢?

java - jHipster 生产构建错误。无法运行任务: 'yarn run webpack:prod' failed

java - 关于Java 8OptionalInt.of参数的问题

python - 如何以最有效的方式获取字典列表中最大值对应的键?

python - 将数据附加到python字典