1
나는 Java에서 삶의 게임 인 Conways를 작성하려고 노력하고 있지만, 제대로 작동하지 않습니다. 저것에 의하여 나는 말, 아직도 lifes은 일하고 그러나 깜박 거리는 사람과 배는하지 않는다.Conways 문제 Game of Life (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;"이 (가) 변경되었습니다. into "state2 = state1.clone();" 및 "state1 = state2"에 대한 반전은 문제가 지속됩니다. –
'clone()'은 얕은 복제물이며, 비슷한 행동을합니다. 보십시오 [이 스레드] (http://stackoverflow.com/questions/419858/how-to-deep-copy-an-irregular-2d-array) 2 차원 배열을 깊은 복사하는 방법 – amit