나는 삶의 게임에 대해 많은 질문이 있었지만 아직도 javafx에서이 방법을 올바르게 작성하는 방법을 이해할 수 없다는 것을 알고있다. 여기에 이웃을 계산하는 알고리즘을 구현하는 방법을 이해할 수 없기 때문에 작동하지 않는 코드입니다. 하지 컴파일 오류 -생명의 게임에서 이웃 방법을 계산하는 것
public void stepMethod(ActionEvent event){
for (int x = 0; x < cellSize; x++){
for (int y = 0; y < cellSize; y++){
int neighbours = countNeighbors(x, y);
nextGeneration[x][y] = board [x][y];
nextGeneration[x][y] = (neighbours == 3) ? true: nextGeneration[x][y];
nextGeneration[x][y] = ((neighbours < 2) || (neighbours > 3)) ? false : nextGeneration[x][y];
}
}
draw();
}
public int countNeighbors(int x, int y){
int neighbours = 0;
if (board [x-1][y-1]){
neighbours+=1;
}else{
neighbours+=0;
}
if (board[x][y-1]){
neighbours+=1;
}else{
neighbours+=0;
}
if (board[x+1][y-1]){
neighbours+=1;
}else{
neighbours+=0;
}
if (board[x-1][y]){
neighbours+=1;
}else{
neighbours+=0;
}
if (board[x+1][y]){
neighbours+=1;
}else{
neighbours+=0;
}
if (board[x-1][y+1]){
neighbours+=1;
}else{
neighbours+=0;
}
if (board[x][y+1]){
neighbours+=1;
}else{
neighbours+=0;
}
if (board[x+1][y+1]){
neighbours+=1;
}else{
neighbours+=0;
}
if(board[x][y]){
neighbours--;
}
return neighbours;
}
여기가
public void draw(){
initGraphics();
for(int x = 0; x < cellSize; x++){
for(int y = 0; y < cellSize; y++){
if(board[x][y]){
gc.setFill(Color.CHOCOLATE);
gc.fillOval(x*cellSize,y*cellSize,cellSize,cellSize);
}
}
}
}
'x-1'또는 'x + 1'이 가장자리에서 벗어날 수 있다고 가정합니다 ('y'와 동일). 실제로 실제로 잘못 되었습니까? – doctorlove
이 단계 방법을 누르면 작동하지 않으며 컴파일하는 동안 실수가 있습니다. 정확히 무엇이 잘못 되었는 지 정확히 알지 못합니다. – Ira
다음 컴파일시 오류 메시지를 공유하십시오. – doctorlove