Skip to content
Snippets Groups Projects
Select Git revision
  • 06ec458ca587225479229634a2942dbaa02bf9a9
  • master default protected
  • commit-alias
  • editor-modeline
  • commit-abbreviation
  • make-hooks-work-as-advertised
  • lyda-home-version
  • feature-aliases
  • git-version-bsd-fix
  • hook-changes
  • v1.20151229-1
  • v1.20151229
  • v1.20150502-1
  • v1.20150502
  • v1.20141026-manpage-static
  • v1.20141026-1
  • v1.20141026
  • v1.20141025-1
  • v1.20141025
  • v1.20141009-manpage-static
  • v1.20141009-1
  • v1.20141009
  • v1.20140508-1-bpo70+1
  • v1.20140508-1
  • v1.20140508-manpage-static
  • v1.20140508
  • v1.20140507
  • v1.20140313
  • v1.20131229-homebrew
  • v1.20131229-1-bpo60+1
30 results

README.md

Blame
  • index.html 2.06 KiB
    <!DOCTYPE html>
    <html>
      <head>
      <meta charset="utf-8" />
        <title>Cube Root Training</title>
      </head>
      <body>
      <h1>Cube Root Training</h1>
      <p>
        <span style="white-space:nowrap;"><span style="font-size:larger;"
            >&#8731;</span><span id=cube style="text-decoration:overline;">
          </span>&nbsp;=&nbsp;<input type=text id=cuberoot value="" size=2>
        </span>
      </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 = "&nbsp;" + Math.pow(generated, 3) + "&nbsp;";
      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! <span style="white-space:nowrap;">' +