javascript - 尝试为我的 HTML 游戏创造最快时间的高分

标签 javascript time measure

所以我正在制作这个 react 游戏,玩家必须尽可能快地点击一个框。我已经显示了单击框所花费的时间,但我试图显示玩家单击框的最快时间。非常感谢您的帮助。

这是我的代码:

<body>
    <div>
        <p>Your time: <span id="time"></span></p>
        <p>Highscore: <span id="highscore"></span></p>
        <div id="shape"></div>
    </div>
    <script>
        var start = new Date().getTime();
        function makeShapeAppear() {
            document.getElementById("shape").style.display = "block"
            start = new Date().getTime();
        }
        function appearAfterDelay() {
            setTimeout(makeShapeAppear, 1000);
        }
        appearAfterDelay();
        document.getElementById("shape").onclick = function() {
            var end = new Date().getTime();
            var timeTaken = (end - start)/1000;
            document.getElementById("shape").style.display = "none";
            document.getElementById("time").innerHTML = timeTaken + "s";
            appearAfterDelay();
        }
    </script>
</body>

总而言之,我想在高分 ID 中显示最短的“timeTaken”变量。提前谢谢你。

最佳答案

如果没有高分,则存储上次用时,如果新用时小于你的高分,则将高分设置为用时。像这样。

#shape{
  width: 200px;
  height: 200px;
  background-color:red;
}
<body>
  <div>
    <p>Your time:
      <span id="time"></span>
    </p>
    <p>Highscore:
      <span id="highscore"></span>
    </p>
    <div id="shape"></div>
  </div>
  <script>
    var highscore;
    var start = new Date().getTime();
    function makeShapeAppear() {
      document.getElementById("shape").style.display = "block"
      start = new Date().getTime();
    }
    function appearAfterDelay() {
      setTimeout(makeShapeAppear, 1000);
    }
    appearAfterDelay();
    document.getElementById("shape").onclick = function () {
      var end = new Date().getTime();
      var timeTaken = (end - start) / 1000;
      highscore = (timeTaken < highscore || !highscore ? timeTaken : highscore);
      document.getElementById("shape").style.display = "none";
      document.getElementById("time").innerHTML = timeTaken + "s";
      document.getElementById("highscore").innerHTML = highscore + "s";
      appearAfterDelay();
    }
  </script>
</body>

关于javascript - 尝试为我的 HTML 游戏创造最快时间的高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50175273/

相关文章:

c# - 根据静态属性中的列表验证下拉列表选定值

javascript - 单击一个元素后选择接下来的两个元素。 (jquery)

在时间复杂度 O(n) 的无限线上找到一个点的算法

.net - 衡量函数、类和进程速度的最佳方法

java - 比较不同方法的资源使用情况

javascript - 尽管没有错误,但为什么 javascript 函数不起作用?

javascript - Jquery 适用于一个域,不适用于另一个域 - 使用*相同的*代码

MySQL 时间数学

php strtotime 难题 - 夏令时?

android - 使用手机的加速度计和麦克风测量振动