我会尽量保持清楚,但我可能会错过信息。如果您需要更多信息来回答,请随时提出。
我的战斗是每次我单击特定按钮时都会调用的功能
这是日志:
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。