群岛战略游戏基地距离

时间:2015-07-06 11:07:00

标签: java algorithm

我正在用Java创建一个策略游戏,我现在正在编写一个地图编辑器。在游戏开始之前,玩家在每个岛上制作一个包含许多岛屿和许多资源的地图。保存地图后,选择玩家数量。每个玩家都有一个基地,基地必须位于彼此最远的距离。

所以,假设我加载了一个包含5个岛屿的地图,并且在游戏开始时有2个玩家 - 每个玩家必须拥有一个岛屿。这些岛屿必须相距最远,所以它应该是这样的:玩家1的岛屿,中立岛屿,中立岛屿,中立岛屿,玩家2的岛屿。

我不知道我的算法应该是什么。

2 个答案:

答案 0 :(得分:0)

此问题似乎与此问题相同:https://cs.stackexchange.com/questions/22767/choosing-a-subset-to-maximize-the-minimum-distance-between-points。有效而准确地解决这个问题可能是理论CS中的一个开放性问题!由于这是一个游戏,我不确定你想以一种完全最佳的方式解决这个问题需要多少努力。

它应该非常简单,快速,接近正确以产生随机猜测并反复进行(扰动它,测量扰动猜测的不良,如果扰动的猜测的不良性比当前的猜测更好,则会产生扰动的猜测目前的猜测。)

至于你认为可能的猜测是什么,我的建议是“所有玩家居住的岛屿的平均值(距离最近玩家居住的岛屿的距离)”。

答案 1 :(得分:0)

假设您的岛屿数量和玩家数量非常少,我认为简单详尽的搜索将是最简单,最快速的实现方式。

  1. 制作一个矩阵,保持从一个岛到另一个岛的距离。 (只是必要的
  2. 系统地迭代玩家展示位置的所有组合,总结从一个玩家到所有其他玩家的每个距离并存储最大值