diff --git a/index.html b/index.html index 85112ca39e1f73a8093348a4e0882d33debd1586..796a625629cac869c474676ab265f036d7a11e53 100644 --- a/index.html +++ b/index.html @@ -23,12 +23,39 @@ var cube = document.getElementById("cube"); var cuberoot = document.getElementById("cuberoot"); var result = document.getElementById("result"); var stats = document.getElementById("stats"); -var began; -var finished; -var elapsed = 0; -var generated; -var guesses = 0; -var correct = 0; +var began, finished, generated; +var elapsed = 0, guesses = 0, correct = 0; +var generator = []; + +Array.prototype.shuffle = function () { + var i = this.length, val, j; + + if (i > 2) { + while (i > 0) { + j = Math.floor(Math.random() * i); + i--; + if (i != j) { + val = this[i]; + this[i] = this[j]; + this[j] = val; + } + } + } + return this; +} + +Array.prototype.random = function() { + if (this.length == 0) { + for (var i = 10; i < 100; i++) { + this.push(i); + if (i % 10 > 0) { + this.push(i); + } + } + this.shuffle(); + } + return this.shift(); +} cuberoot.addEventListener("keydown", function (e) { if (e.keyCode === 13) { @@ -46,14 +73,14 @@ function humanize_ms(ms) { function start_round() { if (guesses > 0) { - stats.innerHTML = "Got " + correct + " correct out of " + guesses + + stats.innerHTML = "Got " + correct + " out of " + guesses + ". Last round took " + humanize_ms(finished - began) + "." + ((correct > 0) - ?" Average time of correct guess was " + + ?" Avg time of correct guesses was " + humanize_ms(elapsed / correct) + "." :""); } - generated = Math.floor(Math.random() * 90) + 10; + generated = generator.random(); cube.innerHTML = " " + Math.pow(generated, 3) + " "; began = Date.now(); cuberoot.value = ""; @@ -70,7 +97,9 @@ function check_cuberoot(e) { elapsed += (finished - began); result.innerHTML = "Correct!"; } else { - result.innerHTML = 'Not correct! <span style="white-space:nowrap;">' + + generator.push(generated, generated); + generator.shuffle(); + result.innerHTML = 'Incorrect! <span style="white-space:nowrap;">' + '<span style="font-size:larger;">∛</span>' + '<span style="text-decoration:overline;"> ' + Math.pow(generated, 3) +