ArrayList的复杂顺序算法 - Java

时间:2015-09-19 16:28:28

标签: java arraylist

大家好,我正在使用基于磁贴的游戏引擎,我对单位运动有点困惑。总的来说,你可以认为它是一个塔防游戏,其中单位必须遵循一条路径(棕色瓷砖),这里是示例图像:

enter image description here

正如您所看到的,Tiles中有数字代表绘图顺序。因此,当地图被初始化时,我将获取所有类型为1的图块(棕色)并将它们添加到ArrayList中。

问题是那些ArrayList Tiles是按绘制顺序排列的。所以我的单位将从图块58开始移动因为是图纸顺序中的第一个图块。

你如何订购从左(第97号)到右(第118号)的棕色瓷砖?

我可以考虑通过知道那个X位置最低的那个来获取97的第一个牌,但从那里开始呢?

1 个答案:

答案 0 :(得分:0)

我认为你是以一种奇怪的方式格式化你的信息来解决这个问题。如果你的单位从第58层开始,那么你告诉他们从第一个绘制的瓷砖开始?最理想的情况是,如果您想拥有不同的地图,您是否希望能够在网格上定义特定点并告诉它们从那里开始?

(在不了解您的代码结构的情况下,很难说您是如何做到的。)

一旦您为它们定义了一个点以及它们结束的点,您就可以使用A *或D *搜索来定义实体沿网格的路径。这也可以为你的设计提供更多选择 - 你可以让玩家在整个游戏过程中修改网格,并迫使单位采取新的路径。