From 448aff387b9c25b405c9eea0127d2edca8965f61 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 23 May 2016 03:18:48 -0400 Subject: bump difficulty idea --- js/ui/evolver.js | 60 +++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 20 deletions(-) (limited to 'js/ui/evolver.js') diff --git a/js/ui/evolver.js b/js/ui/evolver.js index 88a2c34..a7d423b 100644 --- a/js/ui/evolver.js +++ b/js/ui/evolver.js @@ -58,23 +58,22 @@ var evolver = (function(){ console.log(opt) var step = 0 - var target, last_score = 0 + var target, target_img, last_score = 0 var clones = [], clone_count = opt.population, strokes_per_iteration = opt.strokes var clone_index = 0 var main_canvas - var compare_w = 64, compare_h = 64 + var compare_w = 8 - var target = document.createElement('canvas') - target.width = compare_w - target.height = compare_h - var t_ctx = target.getContext('2d') - - var compare = document.createElement('canvas') - compare.width = compare_w - compare.height = compare_h - var c_ctx = compare.getContext('2d') + var target_canvas = document.createElement('canvas') + target_canvas.width = compare_w + target_canvas.height = compare_w + var t_ctx = target_canvas.getContext('2d') + var compare_canvas = document.createElement('canvas') + compare_canvas.width = compare_w + compare_canvas.height = compare_w + var c_ctx = compare_canvas.getContext('2d') brush.rebuild = function(){ this.initialize() @@ -85,11 +84,11 @@ var evolver = (function(){ load(opt.src, go) } function load(src, fn){ - var img = new Image () - img.onload = function(){ - target = drawImage(t_ctx, img) + target_img = new Image () + target_img.onload = function(){ + target = drawImage(t_ctx, target_img) if (opt.h == 0) { - opt.h = Math.round(opt.w * 8/15 * img.naturalHeight/img.naturalWidth) + opt.h = Math.round(opt.w * 8/15 * target_img.naturalHeight/target_img.naturalWidth) } last_score = 0 ready() @@ -97,11 +96,11 @@ var evolver = (function(){ if (src.match(/^http/)) { src = "http://asdf.us/cgi-bin/proxy?" + src } - img.src = src + target_img.src = src } function drawImage (ctx, img) { - ctx.drawImage(img, 0, 0, compare_w, compare_h) - return { width: compare_w, height: compare_h, data: ctx.getImageData(0,0,compare_w,compare_h).data, channels: 4 } + ctx.drawImage(img, 0, 0, compare_w, compare_w) + return { width: compare_w, height: compare_w, data: ctx.getImageData(0,0,compare_w,compare_w).data, channels: 4 } } function ready () { main_canvas = canvas @@ -167,8 +166,8 @@ var evolver = (function(){ // console.log(clones.filter(function(c,i){ return i < 10 }).map(function(c){ return c.score.toFixed(2) }).join(" ")) if (max_score < last_score) { - console.log("no improvement [%s] [%s]", max_score.toFixed(3), last_score.toFixed(3)) - clones_to_keep = 2 + // console.log("no improvement [%s] [%s]", max_score.toFixed(3), last_score.toFixed(3)) + clones_to_keep = 3 best_clone = main_canvas next_best_clone = clones[0].canvas third_best_clone = clones[1].canvas @@ -187,6 +186,10 @@ var evolver = (function(){ main_canvas.forEach(function(lex,x,y){ lex.assign( best_clone.getCell(x,y) ) }) + + // if (max_score > 0.9) { + // bump_difficulty() + // } } var best_clone = clones[0].canvas @@ -213,6 +216,23 @@ var evolver = (function(){ } +/* + // just an idea.. + function bump_difficulty(){ + console.log(compare_w, Math.max(target_img.width, target_img.height)/4) + if (compare_w < Math.max(target_img.width, target_img.height)/4) { + last_score = 0 + compare_w *= 2 + target_canvas.width = compare_w + target_canvas.height = compare_w + compare_canvas.width = compare_w + compare_canvas.height = compare_w + target = drawImage(t_ctx, target_img) + console.log(">> bumped to %d", compare_w) + } + } +*/ + /* function check () { clipboard.export_canvas(function(canvas){ -- cgit v1.2.3-70-g09d2