allow random or blank reseed
authorDylan Lloyd <dylan@dylansserver.com>
Mon, 17 Dec 2012 03:40:29 +0000 (22:40 -0500)
committerDylan Lloyd <dylan@dylansserver.com>
Mon, 17 Dec 2012 03:40:29 +0000 (22:40 -0500)
2d.js
index.php

diff --git a/2d.js b/2d.js
index 8669d2e..cb48fdf 100644 (file)
--- a/2d.js
+++ b/2d.js
@@ -30,9 +30,10 @@ $(document).ready(function(){
         }
     }
 
-    function universe() {
+    function universe(blank) {
         this.population = [];
         this.generation = 0;
+        var blank = blank || 0;
 
         for (var i = 0; i < rows; i++) {
             var world = [];
@@ -41,7 +42,8 @@ $(document).ready(function(){
             for (var ii = 0; ii < columns; ii++) {
                 world.push(new cell(x, y, cellWidth, cellHeight));
                 x += cellWidth;
-                Math.random() > .5 ? world[ii].revive() : world[ii].kill();
+                if (blank) { world[ii].kill(); }
+                else { Math.random() > .5 ? world[ii].revive() : world[ii].kill(); }
             }
             this.population.push(world);
         }
@@ -67,7 +69,7 @@ $(document).ready(function(){
         }
     }
 
-    function tick(automaton) {
+    function tick(automaton, blank) {
         automaton.generation += 1;
         var universe = automaton.population;
         var newUniverse = [];
@@ -128,8 +130,16 @@ $(document).ready(function(){
         if (running) clearInterval(tickID);
         $('#controls #stop-automaton').hide();
         $('#controls #start-automaton').show();
+        automaton = new universe();
+        running = 0;
+    });
+
+    $('#controls #custom-seed-automaton').click(function(e){
+        if (running) clearInterval(tickID);
+        $('#controls #stop-automaton').hide();
+        $('#controls #start-automaton').show();
+        automaton = new universe(1);
         running = 0;
-        automaton = new universe;
     });
 
     $('#2d-automaton').click(function(e) {
index d8cd22d..1a48f88 100644 (file)
--- a/index.php
+++ b/index.php
         <br>
         <span class='label'>2500 cells</span>
         <br><br>
-        <span id='start-automaton' class='control'>Start automaton</span>
-        <span id='stop-automaton' class='control'>Stop automaton</span>
-        <span id='reseed-automaton' class='control'>Reseed automaton</span>
+        <span id='start-automaton' class='control'>Start automaton</span><br>
+        <span id='stop-automaton' class='control'>Stop automaton</span><br>
+        <span class='label'>
+          Reseed <span id='reseed-automaton' class='control'>random</span>
+          or <span id='custom-seed-automaton' class='control'>blank</span>
+        </span>
       </div>
     </div>
     <div id='1d-container'>