我会尽量保持清楚,但我可能会错过信息。如果您需要更多信息来回答,请随时提出。

我的战斗是每次我单击特定按钮时都会调用的功能

这是日志:

var clochardInitiative = 9;
var Initiative = 10;

var fightClochard = function()
{
    if (clochardInitiative>Initiative)
    {
        HPNow-=(clochardDmg-Armor);
        clochardLifeNow -= (Dmg-clochardArmor);
        updateStats();
    }

    else if (Initiative>=clochardInitiative)
    {
        clochardLifeNow -= (Dmg-clochardArmor);
        HPNow-=(clochardDmg-Armor)
        updateStats();
    }
}


我想首先拥有主动攻击价值的战斗机。如果他杀死了对手。然后对手无法进攻。

现在,即使其中一个刚刚死亡,使用此代码也都在攻击。

谢谢 :)

最佳答案

您的代码有太多错误。基本上,您的代码应如下所示:

var Fighter = function (life, armor, initiative, dmg) {
  this.life = life;
  this.armor = armor;
  this.initiative = initiative;
  this.dmg = dmg;
};

Fighter.prototype.fight = function(opponent) {
  if (opponent.initiative>this.initiative)
  {
      this.life-=(opponent.dmg-this.armor);
      if(this.life<=0) {
         updateStats();
         return; // <- ANSWER TO YOUR QUESTION
      }
      opponent.life-=(this.dmg-opponent.armor);
      updateStats();
   }
   else if (this.initiative>=opponent.initiative)
   {
     opponent.life-=(this.dmg-opponent.armor);
     if(opponent.life<=0) {
         updateStats();
         return; // <- ANSWER TO YOUR QUESTION
     }
     this.life-=(opponent.dmg-this.armor);
     updateStats();
   }
};


但是,我强烈建议您在继续之前先阅读有关“面向对象的Javascript”的指南和文档,例如here

09-25 17:27