gpt4 book ai didi

java - (Java) 如何存储 x 和 y 值以便在 for 循环之外使用它们?

转载 作者:行者123 更新时间:2023-12-02 09:07:26 24 4
gpt4 key购买 nike

我正在处理 3 上编写康威的生命游戏,我想存储 x 和 y,以便方 block 不会立即改变,但我不知道如何存储它以供以后使用。如有任何帮助,我们将不胜感激!

void keyPressed() {

for (int x = 0; x < 30; x++) {

for (int y = 0; y < 30; y++) {

int numNeighbours = numNeighbours(x,y);

if (cells[x][y] == true) {

if (numNeighbours > 3 || numNeighbours <= 1) { //underpopulation or overpopulation

}
}

else if (cells[x][y] == false) {

if (numNeighbours == 3) {

}
}
}
}
}

最佳答案

根据我对您的代码(以及生命游戏)的理解,您不需要存储 xy。您实际需要做的是存储单元改变状态的(x, y)对。

您可以通过创建对并将它们添加到列表中来完成此操作。

但另一个想法是使用第二个数组代表下一代游戏,并将所有新值放在那里;例如

for (int x = 0; x < 30; x++) {
for (int y = 0; y < 30; y++) {
int numNeighbours = numNeighbours(x,y);
if (cells[x][y] == true) {
if (numNeighbours > 3 || numNeighbours <= 1) {
cellsNext[x][y] = false;
} else {
cellsNext[x][y] = true;
}
}
else if (cells[x][y] == false) {
if (numNeighbours == 3) {
cellsNext[x][y] = true;
} else {
cellsNext[x][y] = false;
}
}
}
}

注意:这可以简化/写得更好,但我已经按照上面的方式编写了,以便您可以清楚地看到我做了什么。

关于java - (Java) 如何存储 x 和 y 值以便在 for 循环之外使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59700796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com