gpt4 book ai didi

java - Conways 生命游戏的问题(在 Java 中)

转载 作者:行者123 更新时间:2023-11-29 03:49:06 25 4
gpt4 key购买 nike

我正在尝试用 Java 编写康威生活游戏,但它没有按预期运行。我的意思是,静物有效,但眼罩和轮船不有效。

这是我的算法的代码,播种由一个单独的鼠标监听器处理(按预期工作)。

    int[][] state1 = new int[80][80];
int[][] state2 = new int[80][80];
public void logic(){
state2=state1;
for(int i=0;i<80;i++){
for(int j=0;j<80;j++){
int sum=state1[(i-1+80)%80][j]+state1[(i-1+80)%80][(j-1+80)%80]+state1[i][(j-1+80)%80]+state1[(i+1)%80][(j-1+80)%80]+state1[(i+1)%80][j]+state1[(i+1)%80][(j+1)%80]+state1[i][(j+1)%80]+state1[(i-1+80)%80][(j+1)%80];

if(sum!=2 && sum!=3){
state2[i][j]=0;
}
else if(sum==3){
state2[i][j]=1;
}
}
}
state1=state2;
}

最佳答案

state2=state1; 并没有按照您的想法行事。

它只是让两个变量引用同一个数组。

因此,您实际上是在更改与“最后一步”相同的矩阵

要解决这个问题,您需要将state1 复制到state2

关于java - Conways 生命游戏的问题(在 Java 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9565920/

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