diff --git a/modules/burgs-and-states.js b/modules/burgs-and-states.js index 2538682a..cb486ff9 100644 --- a/modules/burgs-and-states.js +++ b/modules/burgs-and-states.js @@ -34,7 +34,8 @@ window.BurgsAndStates = (function () { let count = +regionsInput.value; let burgs = [0]; - const score = new Int16Array(cells.s.map(s => s * Math.random())); // cell score for capitals placement + const rand = () => 0.5 + Math.random() * 0.5; + const score = new Int16Array(cells.s.map(s => s * rand())); // cell score for capitals placement const sorted = cells.i.filter(i => score[i] > 0 && cells.culture[i]).sort((a, b) => score[b] - score[a]); // filtered and sorted array of indexes if (sorted.length < count * 10) { @@ -51,9 +52,8 @@ window.BurgsAndStates = (function () { let spacing = (graphWidth + graphHeight) / 2 / count; // min distance between capitals for (let i = 0; burgs.length <= count; i++) { - const cell = sorted[i], - x = cells.p[cell][0], - y = cells.p[cell][1]; + const cell = sorted[i]; + const [x, y] = cells.p[cell]; if (burgsTree.find(x, y, spacing) === undefined) { burgs.push({cell, x, y}); @@ -63,7 +63,9 @@ window.BurgsAndStates = (function () { if (i === sorted.length - 1) { WARN && console.warn("Cannot place capitals with current spacing. Trying again with reduced spacing"); burgsTree = d3.quadtree(); - (i = -1), (burgs = [0]), (spacing /= 1.2); + i = -1; + burgs = [0]; + spacing /= 1.2; } }