int[][][] board; int gW = 100; int gH = 100; int sW = 300; int sH = 300; int cellW, cellH; int C=0; void setup() { float density = .55; size(sW,sH); cellW = sW/gW; cellH = sH/gH; board = new int[gW][gH][2]; framerate(15); for (int y=0; y < gH; y++) for (int x=0; x < gW; x++) { board[x][y][0] = 0; board[x][y][1] = 0; } board[52][52][0] = 1; board[52][53][0] = 1; board[52][54][0] = 1; board[53][52][0] = 1; board[51][53][0] = 1; board[52][52][1] = 1; board[52][53][1] = 1; board[52][54][1] = 1; board[53][52][1] = 1; board[51][53][1] = 1; } void randomize(float density) { int r1, r2; for (int i=0;i 3) board[x][y][C]=0; else if (tn == 3) board[x][y][C]=1; else if (board[x][y][(C+1) % 2]==1 && tn ==2) board[x][y][C]=1; else board[x][y][C]=0; //if (board[x][y]==1) rect(x*cellW,y*cellH,cellW,cellH);//point(x,y); } } int neighbors(int x, int y) { int n = 0; for (int dy=-1; dy<=1; dy++) { for (int dx=-1; dx<=1; dx++) { n += board[abs(x+dx) % gW][abs(y+dy) % gH][(C+1) % 2]; } } n -= board[x][y][(C+1) % 2]; return n; }