从3维数组的“侧”收集对象

时间:2011-05-17 18:09:30

标签: java

我正在为大学课程做一个项目。它是由3维地下城组成的某种RPG。每个地牢都是一个拿着正方形的立方体。现在我需要做的是从立方体的两侧“收集”所有方块。

我可以通过制作6 for循环来轻松实现这一点,但我不认为这是一种非常优雅的方式。 有没有人知道通过使用大量的for循环来解决这个问题的更好方法?

2 个答案:

答案 0 :(得分:0)

如果您有三维数据,那么存储该信息的最明显方式是三维结构,如三维数组。这样,您可以通过获取尺寸为0或最大的所有块,轻松选择多维数据集6边的所有项目。其中maximum是数组的大小。

但是,如果没有一点代码,这都是高度推测的。也许如果你发布你现在拥有的东西,它将有助于你获得更具体的答案。

答案 1 :(得分:0)

您可以迭代两个维度,一次完成所有6个面。

for (u...) {
    for (v...) {
        add(cube[0][u][v];
        add(cube[M][u][v];
        add(cube[u][0][v];
        add(cube[u][M][v];
        add(cube[u][v][0];
        add(cube[u][v][M];
    }
}