// Blake Shaw // metablake.com // // edited from ran tao's code int w = 800; int h = 800; int D = 100; int cellsize = 5; int N = h/cellsize; int[][] x, newx; void setup(){ size(w, h); fill(0, 0, 0); smooth(); x = new int[N][N]; newx = new int[N][N]; for(int i=1; i 0.4){ x[i][j] = 1; } else { x[i][j] = 0; } //print(x[i][j]); } } //ploti(); background(0); frameRate(20); } void simulate(){ //int[][] neighbors = getneighbors(); newx = new int[N][N]; int c = 0; for(int i=1; i 3) ) { newx[i][j] = 0; } else if( (x[i][j] == 0) && (ne == 3) ) { newx[i][j] = 1; } else { newx[i][j] = x[i][j]; } } } int[][] tmp = x; x = newx; newx = tmp; } void draw(){ simulate(); fill(255, 100); rect(0,0,width-1,height-1); plotx(); //noLoop(); } void plotx(){ int s = cellsize; int N = x.length; for(int i=1; i0 && mouseY 0) { int new_x; int new_y; new_x = mouseX/cellsize; new_y = mouseY/cellsize; x[new_x][new_y] = 1; plotx(); } }