Files
processing4/java/examples/Topics/Cellular Automata/Wolfram/Wolfram.pde
2011-09-05 23:58:47 +00:00

39 lines
858 B
Plaintext

/**
* Wolfram Cellular Automata
* by Daniel Shiffman.
*
* Simple demonstration of a Wolfram 1-dimensional cellular automata
* When the system reaches bottom of the window, it restarts with a new ruleset
* Mouse click restarts as well.
*/
CA ca; // An instance object to describe the Wolfram basic Cellular Automata
void setup() {
size(640, 360, P2D);
frameRate(30);
background(0);
int[] ruleset = {0,1,0,1,1,0,1,0}; // An initial rule system
ca = new CA(ruleset); // Initialize CA
}
void draw() {
ca.render(); // Draw the CA
ca.generate(); // Generate the next level
if (ca.finished()) { // If we're done, clear the screen, pick a new ruleset and restart
background(0);
ca.randomize();
ca.restart();
}
}
void mousePressed() {
background(0);
ca.randomize();
ca.restart();
}