Javascript减法运算不正确

Javascript减法运算不正确,javascript,Javascript,我正在制作一个基于浏览器的文本游戏,我正在进行战斗。在测试过程中,我看到武器伤害的减法没有被正确地减法,即当我对对手造成15点伤害时,他们将所有数字和错误与正确的结果相加。如果你在一个对手身上用10点生命做15分,减法就不应该执行,因为有if(dmg>target.hp),所以减法不是问题。你为什么要对一个数字调用parseInt?你传递的参数正确吗?玩家一开始有50点生命,在对手造成13点伤害后,你的生命不应该是37吗?这里是玩家。清单[0]。使用(玩家,opp)你正在传递2个参数,武器。原型

我正在制作一个基于浏览器的文本游戏,我正在进行战斗。在测试过程中,我看到武器伤害的减法没有被正确地减法,即当我对对手造成15点伤害时,他们将所有数字和错误与正确的结果相加。如果你在一个对手身上用10点生命做15分,减法就不应该执行,因为有if(dmg>target.hp),所以减法不是问题。你为什么要对一个数字调用
parseInt
?你传递的参数正确吗?玩家一开始有50点生命,在对手造成13点伤害后,你的生命不应该是37吗?这里是玩家。清单[0]。使用(玩家,opp)你正在传递2个参数,武器。原型。使用=函数(目标)这个函数只接受1,所以你所做的就是攻击自己。
Weapon.prototype.use = function(target) {
  let dmg = Math.round((Math.random() * 3) + this.damage)

  if (dmg > target.hp) {
    target.hp = 0;
  } else {
    target.hp = target.hp - dmg
    console.log(target.hp + ' ' + dmg)
  }

  if (target.hp < 0) {
    target.hp = 0
  }

  return 'You did ' + dmg + ' damage.'
}
Game.combat = function(opp) {
    consul.log("c o m b a t  :: " + Player.inventory[0].use(opp))
    if(opp.hp <= 0) {
        opp.hp = 0;
        consul.error('You killed the ' + opp.name.toLowerCase())
    } else {
        consul.error('The '+ opp.name.toLowerCase() + ' has ' + opp.hp + ' health left.')
    }
    setTimeout(function() {
        consul.log("c o m b a t  :: " + opp.weapon.mUse(opp))
        if(Player.hp <= 0) {
            Player.hp = 0
            consul.log(Game.placeholder)
            consul.error('YOU DIED')
        } else {
            consul.error('You have ' + Player.hp + ' health left.')
        }
    }, Math.random()*2600+750)
}