summaryrefslogtreecommitdiff
path: root/js/ui/evolver.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2016-05-23 02:07:24 -0400
committerJules Laplace <jules@okfoc.us>2016-05-23 02:07:24 -0400
commit720954f63f865d88dfbc9b461242038047818f27 (patch)
treed5e46c035faf984d035585849805b6ce5b531bda /js/ui/evolver.js
parent8344bf53352176880d08fa7a119281b1be0d6134 (diff)
more sensible opts parsing
Diffstat (limited to 'js/ui/evolver.js')
-rw-r--r--js/ui/evolver.js36
1 files changed, 26 insertions, 10 deletions
diff --git a/js/ui/evolver.js b/js/ui/evolver.js
index f41ab42..8e889f4 100644
--- a/js/ui/evolver.js
+++ b/js/ui/evolver.js
@@ -10,11 +10,27 @@ var evolver = (function(){
strokes: 1,
randomize: false,
}
- if (window.location.hash.length) {
- window.location.hash.replace("#","").split("&").forEach(function(s){
- var kv = s.split("=")
- if (opt.hasOwnProperty(kv[0])) {
- opt[kv[0]] = kv[0] == "src" ? kv[1] : parseInt(kv[1])
+ var hash = window.location.search || window.location.hash
+ if (hash) {
+ hash.substr(1).split("&").forEach(function(s){
+ var kv = s.split("="), key = kv[0], val = kv[1]
+ switch (key) {
+ case 'w':
+ case 'h':
+ case 'population':
+ case 'strokes':
+ opt[key] = parseInt(val)
+ break
+ case 'randomize':
+ opt.randomize = val == "true"
+ break
+ case 'src':
+ opt[key] = val
+ break
+ default:
+ if (opt.hasOwnProperty(key)) {
+ opt[key] = val
+ }
}
})
}
@@ -70,11 +86,6 @@ var evolver = (function(){
function ready () {
main_canvas = canvas
canvas.resize(opt.w, opt.h)
- if (opt.randomize) {
- canvas.forEach(function(lex,x,y){
- lex.bg = randint(16)
- })
- }
for (var i = 0; i < clone_count; i++) {
clones[i] = {
el: document.createElement("div"),
@@ -85,6 +96,11 @@ var evolver = (function(){
clones[i].canvas.forEach(function(lex){
lex.build = noop
})
+ if (opt.randomize) {
+ clones[i].canvas.forEach(function(lex,x,y){
+ lex.bg = randint(16)
+ })
+ }
}
controls.fg.update = noop
controls.bg.update = noop