내가 올바른 방향으로 가고 있는지 잘 모르겠다. 나는 모든 "정물"세포 배열, 즉 내 코드를 만들었다. 벌집, 블록, 보트 및 로프. 그러나, 조작되고 세포의 죽음과 출생을 포함한다고 생각되는 준비에 대해서는 문제가 있습니다.Game of Life Problems
지금은 셀을 먼저 만들고 규칙에 해당하는 사람을 죽이는 중입니다 (주변 이웃이 총합이 1보다 작거나 같거나 4보다 큰 경우).
내가 지금 가고있는 일은 그것이 어떻게되는지 잘 작동하지 않습니다. 나는 내 코드 아래에 일부 이미지가 포함됩니다 : 이미지에 관해서는
public class Untitled {
public static void main(String[] params){
Life life = new Life();
String[][] list = life.readGame();
life.print(list);
System.out.println();
for(int i = 1; i <= 5; i++){
list = life.run(list);
life.print(list);
System.out.println();
}
}
}
class Life {
public String[][] readGame(){
String[][] array = {
{ "-","-", "-", "-", "-", "-","-"},
{ "-","-", "-", "-", "-", "-","-"},
{ "-","-", "-", "x", "-", "-","-"},
{ "-","-", "-", "x", "-", "-","-"},
{ "-","-", "-", "x", "-", "-","-"},
{ "-","-", "-", "-", "-", "-","-"},
{ "-","-", "-", "-", "-", "-","-"}
};
return array;
}
public void print(String[][] array){
for(int x = 0; x < array.length; x++){
for(int y = 0; y < array[x].length; y++){
System.out.print(array[x][y]);
}
System.out.println();
}
}
public String[][] run(String[][] array){
populateCells(array);
System.out.println("Populated:\n");
print(array);
killCells(array);
System.out.println("Killed:\n");
print(array);
return array;
}
public int amountOfNeighbors(String[][] array, int x, int y){
int amount = 0;
for(int x1 = -1; x1 <= 1; x1++){
if(x + x1 >= 0 && x + x1 < array.length){
for(int y1 = -1; y1 <= 1; y1++){
if(y + y1 >= 0 && y + y1 < array[x1 + x].length){
if(!(x1 == 0 && y1 == 0) && !array[x1 + x][y1 + y].equals("-")){
amount++;
}
}
}
}
}
return amount;
}
public void populateCells(String[][] array){
int neighbours;
for(int x = 0; x < array.length; x++){
for(int y = 0; y < array[x].length; y++){
neighbours = amountOfNeighbors(array,x,y);
if(neighbours == 3){
array[x][y] = "x";
}
}
}
}
public void killCells(String[][] array){
int neighbours;
for(int x = 0; x < array.length; x++){
for(int y = 0; y < array[x].length; y++){
neighbours = amountOfNeighbors(array,x,y);
if(neighbours <= 1 || neighbours >= 4){
array[x][y] = "-";
}
}
}
}
}
을, 여기에 간단한 깜박이 구조의 어떤 세포의 인구 및 삭제 후 발생합니다
생명의 경기 (콘웨이의 게임)의 중복 가능성을 알고 - 방법 세포 이웃에 대한 확인] (http://stackoverflow.com/questions/8364301/the-game-of-lifeconways-game-how-to-check-for-cell-neighbours) –