// Note: The code below contains spoilers for the puzzle Race for the Galaxy! var PUZZLE_TEMPLATE = (function() { function render(args) { var puzzle_type = args.puzzle_type; var puzzle_num = args.puzzle_num; var puzzle = args.puzzle; var out = ''; function get_color(c) { if (c == 'R') return 'red'; else if (c == 'B') return 'blue'; else if (c == 'G') return 'green'; else if (c == 'Y') return 'yellow'; } if (puzzle_type == 'META') { out += '

Meta Puzzle

'; } else { out += `

Puzzle #${puzzle_num}

`; } if (puzzle_type == 'ENCODINGS') { for (var encoding of puzzle) { if (encoding[0] == 'morse') { out += `

${encoding[1]}

`; } else { out += ``; out += `
`; } } } else if (puzzle_type == 'ANAGRAMS') { out += ''; } else if (puzzle_type == 'DROPQUOTE') { out += ''; out += ''; for (var bucket of puzzle['buckets']) { out += ``; } out += ''; for (var row of puzzle['grid']) { out += ''; for (var cell of row) { if (cell) { out += ``; } else { out += ``; } } out += ''; } out += '
${bucket}
'; } else if (puzzle_type == 'CRYPTOGRAM') { out += `

${puzzle}

`; } else if (puzzle_type == 'WORDSEARCH') { out += ``; for (var row of puzzle['grid']) { out += ``; for (var cell of row) { out += ``; } out += ``; } out += `
${cell}
`; out += ``; } else if (puzzle_type == 'ACTORS') { for (var url of puzzle) { out += ``; } } else if (puzzle_type == 'WORDSQUARE') { out += ``; for (var row of puzzle) { out += ``; for (var cell of row) { out += ``; } out += ``; } out += `
${cell}
`; } else if (puzzle_type == 'SPOTTHEDIFFERENCE') { out += `
`; for (var row of puzzle['grid1']) { out += ``; for (var cell of row) { out += ``; } out += ``; } out += `
${cell[0]}
`; for (var row of puzzle['grid2']) { out += ``; for (var cell of row) { out += ``; } out += ``; } out += `
${cell[0]}
`; for (var row of puzzle['letters']) { out += ``; for (var cell of row) { out += `` } out += ``; } out += `
${ cell }
`; } else if (puzzle_type == 'LOGIC') { out += `

Select all correct statements.

    `; for (var subpuzzle of puzzle) { out += `
  1. Which of the following statements is correct?
      ` for (var statement of subpuzzle) { out += `
    1. ${statement}
    2. `; } out += `
  2. `; } out += `
`; } else if (puzzle_type == 'CRYPTOGRAMSEARCH') { out += ``; for (var row of puzzle['grid']) { out += ``; for (var cell of row) { out += ``; } out += ``; } out += `
${cell}
`; out += `'; } return out; } return { render: render, }; })();