javascript - 条件语句无法识别变量值

标签 javascript

我正在为最终项目制作一个简单的 react 时间游戏。 我们使用 javascript 来支持游戏中的功能,我的大部分代码都处于工作状态,但我有一个 if 条件语句给我带来了麻烦。 这是代码

function fireTime() {
  setTimeout(ShotsFired, time);

  function ShotsFired() {
    fire.style.visibility = "visible";
    createdTime = Date.now();
    console.log(createdTime);
    EnemyTime = Math.floor((Math.random() * 1000) + 400);
    setTimeout(EnemyShoot, EnemyTime)

    function EnemyShoot() {
      console.log(EnemyTime);
      gameplay();
    }

    function gameplay() {
      reactionTime = -(createdTime - clickedTime);
      var EnemyTime;
      console.log(reactionTime);
      if (reactionTime < EnemyTime) {
        alert("Wow you beat him! Congrats!");
        fire.style.visibility = "hidden";
        clickedTime = 0;
        createdTime = 0;
        reactionTime = 0;
        scavnumber++;
        BGnumber++;
        DesertBG.src = "images/Desert" + BGnumber + ".png";
        scav.src = "images/scav" + scavnumber + ".png";
        fireTime();
      } else {
        EndScreen.style.visibility = "visible";
      }
    }

这不是完整的代码,只是将游戏推进到下一个级别的函数。

无论出于何种原因,即使reactionTime小于EnemyTime,EndScreen也会变得可见。

谁知道这可能是什么原因造成的?

最佳答案

对你的敌人时间数学使用浮点,即 400.0 ,否则你会得到 0/1 秒并且不使用毫秒,并且它正在使用数学整数。具体来说,将您的敌人时间转换为 float ,目前,如果您打印它,它可能是一个整数。这是一个主要的 js 编码细节,如果您认为 101/50 = 2.05,那么您将来将花费数小时的时间寻找错误,但它不等于 2,因此除以 50.0,并且与所有秒/毫秒任务相同。

使用 EnemyTime 作为所有脚本的全局变量,目前,代码中所有脚本中都有一个名为 EnemyTime 的不同函数,后者没有任何值(value)。

使用 print 来查看 else 条件何时起作用,并在打印中指定一个 print 和敌人时间值。

这就是您应该通过打印令人困惑的变量来解决问题的方法。

关于javascript - 条件语句无法识别变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47667856/

相关文章:

Android 上下文切换中的 javascript settimeout

javascript - ajaxStart 和 ajaxStop 不工作

javascript - 自执行函数继承

javascript - 如何将来自 json API 响应的数据存储到 ReactJS 中的数组中?

javascript - 使用 AJAX 将动态填写的表单提交到两个位置

javascript - 如何在 Javascript 中对数组对象使用 forEach 方法或任何数组方法?

javascript - 使用 Bluebird promise 返回 2 个变量

javascript - 如何在自定义圆环图上画针并向针中添加数据点?

javascript - 将数组的字符串元素与另一个数组的对象元素属性进行比较

javascript - 使用javascript重新加载div而不重新加载页面