X-Git-Url: https://disinclined.org/git/?a=blobdiff_plain;f=2d.js;h=2e731c93a3162ad412a3d75adb748e1bb8ea8ec9;hb=26a8f8ddaa0becf3b923ace41a976c04598d00bd;hp=4dd38355ddf06826ff0af32fd1fb00bb9da0a3e3;hpb=c5557a76486a3ff6a07af90b3fe8b1b08dc4f60d;p=cellular-automaton.git diff --git a/2d.js b/2d.js index 4dd3835..2e731c9 100644 --- a/2d.js +++ b/2d.js @@ -63,6 +63,7 @@ $(document).ready(function(){ } this.toggle = function() { + this.running ? this.stop() : this.start(); } this.redraw = function() { @@ -76,14 +77,25 @@ $(document).ready(function(){ } this.serialize = function() { - var serial = ''; + var serial = []; for (var i = 0; i < this.rows; i++) { + var row = []; for (var ii = 0; ii < this.columns; ii++) { - serial += this.population[i][ii].state; + row[ii] = this.population[i][ii].state; } + serial.push(row); } return serial; } + + this.populate = function(seed) { + for (var i = 0; i < this.rows; i++) { + for (var ii = 0; ii < this.columns; ii++) { + seed[i][ii] ? this.population[i][ii].revive() + : this.population[i][ii].kill(); + } + } + } } function tick(automaton) {