summaryrefslogtreecommitdiff
path: root/static/script.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/script.js')
-rw-r--r--static/script.js29
1 files changed, 19 insertions, 10 deletions
diff --git a/static/script.js b/static/script.js
index c40298c..23ee2b2 100644
--- a/static/script.js
+++ b/static/script.js
@@ -4,13 +4,19 @@ var currentBoard = null;
var selected = {};
function newGroup() {
- var keys = Object.keys(corpus);
- var i = keys.length * Math.random() << 0;
- var group = corpus[keys[i]];
- var clues = randomSelect(group.clues, 4);
+ var categoryPoint = Math.random();
+ for (var category of corpus) {
+ if (categoryPoint < category.portion) {
+ continue;
+ }
+ var group = category.groups[category.groups.length * Math.random() << 0]
+ var clues = randomSelect(group.clues, 4)
+ console.log(category.name)
+ break;
+ }
return {
- group: group.group,
+ hint: group.hint,
clues: clues,
fullClues: group.clues,
};
@@ -33,7 +39,11 @@ function newBoard() {
var group = newNonintersectingGroup(groups);
groups.push(group);
}
- return groups;
+ var newGroups = [];
+ for (var i = 0; i < 4; i++) {
+ newGroups.push({hint: groups[i].hint, clues: groups[i].clues});
+ }
+ return newGroups;
}
function chooseBox(box) {
@@ -74,7 +84,7 @@ function consume(grp) {
document.getElementById('answers').innerHTML +=
`<div class="answer">
- <div class="answerline">${group.group}</div>
+ <div class="answerline">${group.hint}</div>
<div class="clues">${group.clues.map(renderClue).join(', ')}</div>
</div>`;
}
@@ -101,7 +111,7 @@ function serializeBoard(board) {
for (var group of board) {
copy.push({
clues: group.clues,
- group: group.group,
+ hint: group.hint,
})
}
return encodeURIComponent(btoa(JSON.stringify(copy)))
@@ -113,8 +123,7 @@ function deserializeBoard(s) {
for (var group of copy) {
board.push({
clues: group.clues,
- group: group.group,
- fullClues: group.clues,
+ hint: group.hint,
})
}
return board;