我的生活游戏完美运行。我还有一个计数器,用于显示当前代(对于每个迭代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);