Cool! I think I would have liked it more with shorter names by default, but that's nothing really.<p>Ended up with a quick solution to all problems so I can go back to work. Please forgive me<p>function draw_checkerboard(board) {
var res = document.querySelectorAll('#goal-checkers-group rect');
var len = Math.sqrt(res.length);
for (var row = 0; row < len; row++) {
for (var col = 0; col < len; col++) {
board[row][col] = res[col + row * len].className.baseVal;
}
}
}<p>Edit: forgot that col/row size wasn't fixed<p>Edit 2:
> Well, that's the end of this small journey.<p>Not that small of a journey actually, quite a lot of interesting puzzles. Good job!
Really fun idea and a great implementation. I have been trying to come up with programming puzzles for my own project <a href="https://www.dev-esc.com" rel="nofollow">https://www.dev-esc.com</a> - an escape room for devs<p>My own “Show HN” is at <a href="https://news.ycombinator.com/item?id=28579191" rel="nofollow">https://news.ycombinator.com/item?id=28579191</a><p>andersource would you be willing to consider letting me incorporate something like a checkerboard puzzle?<p>Have you any metrics on average completion times etc? Striking the right balance between fun vs difficult has proved tricky for me.
Love it!
It reminds a bit on this mehanical programming game <a href="https://www.turingtumble.com/" rel="nofollow">https://www.turingtumble.com/</a><p>where you have to reconstruct a marble pattern with logical gates controlling how the marbles flow.<p>Will try this with my daughter next time.
I just finished solving the puzzles. Overall I really enjoyed the game.<p>The only thing I did not like was that for certain puzzles, such as the Ying-Yang one, coming up with an idea that will solve the puzzle is quite straight forward, but figuring out the parameters you used for some of the curves can take a long time.<p>The Ying-Yang problem has no hints and I had to use two different sine waves for the upper half and the bottom half of the screen, just because I couldn't guess which one you used. I also tried solving the "spiraling into control" one without looking at the hints, and was unable to.
Indeed, when attempting to use the initial nested loop as much as possible, its body essentially becomes a pixel shader.<p>I was reminded of one of my earliest side projects, a Mandelbrot set renderer; amusing that the last exercise is exactly that.
Nice, this looks like a good way to practice basic looping and operators. Has anyone just hard-coded the target board and copied the values instead of calculating?
On a side note, I'm curious how the sandbox was implemented. For security issues, how does one make sure that the sandbox is not just a javascript eval?