我的生活游戏完美运行。我还有一个计数器,用于显示当前代(对于每个迭代generation++)。

现在,我希望能够访问和显示游戏中的任何一代。整个游戏包含一个二维数组(Cell[][])。因此,每次迭代后,必须使用唯一的名称保存各自的数组。

但是,如何在循环中多次保存数组?我无法将迭代编号添加到像Cell[][] cells+generation = ...这样的数组名称中,以成为cells0, cells1, cells2...数组。

另一个想法是,创建一个类生成并为每次迭代创建该类的新对象,但是即使那样,对象生成名称的问题仍然存在(为了能够访问相应的对象,需要一个唯一的名称,例如generation13,generation154 ...)。

public class Generation {
    private Cell[][] cells;

    public Generation(Cell[][] cells) {
        this.cells = cells;
    }

    public Cell[][] getCells() {
        return cells;
    }

    public void setCells(Cell[][] cells) {
        this.cells = cells;
    }
}


有谁有办法实现这一目标?我认为使用类生成是最有意义的,因为通过这种方式,您还可以访问(get)用于显示的构造函数(二维数组)。

最佳答案

制作ArrayList<Cell[][]>怎么样?因此,如果您想添加新一代产品,只需使用

arrayListOfCells.add(generation);


然后使用

arrayListOfCells.get(index);

08-27 11:15