0
我正在像幾乎所有其他初學者一樣製作康威的人生遊戲。我遇到的主要問題是我不知道如何實現遊戲規則,即:具有三個活的鄰居的死亡小區變得活着,一個活着的小區恰好有一個活的鄰居變成死亡,並且具有更多的活細胞三個活着的鄰居死了。我從來沒有操縱矩陣,所以我不知道從哪裏開始。我所在的類不允許我們使用非靜態方法,而且我們也不能使用java庫。這是目前我有:康威的人生遊戲規則Java
public class Life {
public static boolean[][] origin(int a) {
boolean[][] randomMatrix = new boolean [a][a];
for (int i = 0; i < a; i++) {
for (int j = 0; j < a; j++) {
randomMatrix[i][j] = StdRandom.bernoulli();
}
}
return randomMatrix;
}
public static void print(boolean[][] a) {
int N = a.length;
StdOut.println(N);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (a[i][j]) StdOut.print("1 ");
else StdOut.print("0 ");
}
StdOut.println();
}
}
public static void show(boolean[][] a, boolean which) {
int N = a.length;
StdDraw.setXscale(0, N-1);
StdDraw.setYscale(0, N-1);
double r = .5;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (a[i][j] == which) {
StdDraw.filledSquare(j, N-i-1, r);
}
}
}
}
public static void main(String[] args) {
int a = 5;
boolean[][] b = origin(a);
int gens = 3;
for (int i = 0; i < gens; i++) {
System.out.println("Generation " + i + ":");
print(b);
show(b, true);
}
}
}
我收到現在輸出的是什麼,我需要在初始生成的遊戲。我想我需要一個新的陣列來存儲新一代,也許一些if和else語句來檢查這些細胞是否還活着或死亡。任何幫助表示讚賞。
[你的同學?](http://stackoverflow.com/questions/33585278/conways-game-of-life-bug) – Kenney