【发布时间】:2013-04-14 09:22:22
【问题描述】:
大家好,
我只是在尝试编写所谓的“生活游戏”。忘记是谁发明的,但我觉得它很有趣。请不要发布任何与游戏编程相关的链接,因为它会破坏我的动力;)
其中最重要的部分是游乐场。我需要一个二维数组,它可以向各个方向扩展。
例如一开始我有一个 10*10 字段的数组。我需要能够同时在 array[-1][-1] 方向和 array[11][11] 方向添加新字段。我什至需要能够将新项目添加到字段数组 [-1] [10] 或数组 [10] [-10]。我需要能够将数组访问到所有可能的 2D 方向。
在写这篇文章的同时,我刚刚有了一个想法:让四个数组指向所有方向 NORTH、EAST、SOUTH 和 WEST 怎么样?只需将所有阵列彼此相邻放置,几乎指向指定方向。就像下面的例子一样。所有的阵列放在一起形成了我的游乐场。它会有效吗,还是有更简单的方法?
[][][] | [][][]
[][][] | [][][]
[][][] | [][][]
_______|_______
[][][] | [][][]
[][][] | [][][]
[][][] | [][][]
谢谢。
【问题讨论】:
-
你能发一个这个游戏规则的链接吗?我对你的解释感到困惑。
-
我建议创建一个具有周期性边界条件的网格类,使得
x=-1; grid.set(x, y);等于x = -1 + L; grid.set(x, y);。 -
想象一下游戏需求的变化:我们需要 3 维代替 2 维。你还认为数组是最好的方法吗?
标签: java arrays multidimensional-array game-physics