# HG changeset patch # User Oleksandr Gavenko # Date 1411245696 -10800 # Node ID 6c057ac86c976479020a4bc09f0070aff7c5d843 # Parent 7f944bece417e09629e6d1e7be83815870b71a37 Show AI config in report as title. diff -r 7f944bece417 -r 6c057ac86c97 2048.html --- a/2048.html Sat Sep 20 23:19:01 2014 +0300 +++ b/2048.html Sat Sep 20 23:41:36 2014 +0300 @@ -305,8 +305,10 @@ } ui.dom.table = function(tbl, cols, cfg) { var tableDom = document.createElement('table'); - if (typeof cfg.tableClass === 'string') - tableDom.classList.add(cfg.tableClass); + if (typeof cfg.tblClass === 'string') + tableDom.classList.add(cfg.tblClass); + if (typeof cfg.tblTitle === 'string') + tableDom.title = cfg.tblTitle; var trDom = document.createElement('tr'); for (var i = 0; i < cols.length; i++) { var thDom = document.createElement('td'); @@ -690,6 +692,7 @@ ui.ai = {}; ui.ai.current = null; ui.ai.parseCfg = function(aiDom, cfg) { + cfg = cfg || {}; var optDoms = aiDom.querySelectorAll("div.option > input.positive[type='text']"); for (var i = 0; i < optDoms.length; i++) { var val = parseFloat(optDoms[i].value); @@ -700,6 +703,13 @@ } cfg[optDoms[i].name] = val; } + return cfg; + } + ui.ai.cfgTitle = function(aiName) { + var title = JSON.stringify(ui.ai.parseCfg(document.getElementById(aiName))).replace(":", ": ", "g").replace(",", "\n", "g"); + title = title.substr(1); + title = title.substr(0, title.length-1); + return title; } ui.ai.algList = { @@ -707,8 +717,7 @@ return new ai.BlindRandom(ui.brdEngine); }, "ai-blind-weight-random": function(aiDom) { - var cfg = {}; - ui.ai.parseCfg(aiDom, cfg); + var cfg = ui.ai.parseCfg(aiDom); return new ai.BlindWeightRandom(ui.brdEngine, cfg); }, "ai-blind-cycle": function(aiDom) { @@ -718,8 +727,7 @@ return new ai.BlindCycle(ui.brdEngine, cfg); }, "ai-one-step-ahead": function(aiDom) { - var cfg = {}; - ui.ai.parseCfg(aiDom, cfg); + var cfg = ui.ai.parseCfg(aiDom); return new ai.OneStepAhead(ui.brdEngine, cfg); }, "ai-deep-max-score": function() { @@ -729,8 +737,7 @@ return new ai.DeepMaxScoreCorner(ui.brdEngine); }, "ai-expectimax": function(aiDom) { - var cfg = {}; - ui.ai.parseCfg(aiDom, cfg); + var cfg = ui.ai.parseCfg(aiDom); return new ai.expectimax(ui.brdEngine, cfg); }, // "": function() { @@ -893,7 +900,7 @@ tblCols.push('mean speed'); tblCols.push('max speed'); } - var tableDom = ui.dom.table(tbl, tblCols, { tableClass: 'report-by-maxval' }); + var tableDom = ui.dom.table(tbl, tblCols, { tblClass: 'report-by-maxval', tblTitle: ui.ai.cfgTitle(ui.ai.currentName) }); reportDom.appendChild(tableDom); reportsDom.insertBefore(reportDom, reportsDom.firstChild); }