Commit 00a89f94 authored by Kevin Lyda's avatar Kevin Lyda 💬
Browse files

JS version.

parent e07cf2b0
Loading
Loading
Loading
Loading

index.html

0 → 100644
+74 −0
Original line number Diff line number Diff line
<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8" />
    <title>Cube Root Training</title>
  </head>
  <body>
  <h1>Cube Root Training</h1>
  <p id=cube></p>
  <p><input type="text" id="cuberoot" value ="" size=3></p>
  <p id=result></p>
  <p id=stats></p>

  <script>
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;

cuberoot.addEventListener("keydown", function (e) {
  if (e.keyCode === 13) {
    check_cuberoot(e);
  }
})

function humanize_ms(ms) {
  if (ms < 1000) {
    return ms + "ms";
  } else {
    return (Math.floor(ms / 100) / 10) + "s";
  }
}

function start_round() {
  if (guesses > 0) {
    stats.innerHTML = "Got " + correct + " correct out of " + guesses +
                      ". Last round took " + humanize_ms(finished - began) +
                      "." + ((correct > 0)
                          ?" Average time of correct guess was " +
                          humanize_ms(elapsed / correct) + "."
                          :"");
  }
  generated = Math.floor(Math.random() * 90) + 10;
  cube.innerHTML = Math.pow(generated, 3);
  began = Date.now();
  cuberoot.value = "";
  cuberoot.focus();
}

function check_cuberoot(e) {
  var guess = e.target.value;

  guesses++;
  finished = Date.now();
  if (guess == generated) {
    correct++;
    elapsed += (finished - began);
    result.innerHTML = "Correct!";
  } else {
    result.innerHTML = "Not correct! Correct answer was " + generated + ".";
  }
  start_round();
}

start_round();
  </script>
  </body>
</html>