我正在开发基于浏览器的文字游戏,并且正在从事战斗。在测试过程中,我发现武器的减损没有正确减去,例如,当我对对手造成15点伤害并且他们的生命值小于10时,对手要么获得1 hp要么保持原状。
玩家最初有50 hp,而对手造成13点伤害后,我还有32 hp。对对手(以32 hp开始)造成18点伤害后,对手仍然有32 hp。为了清楚起见,数字是整数。
这是我的Pen
我的代码中有东西吗?
这里是:
using System;
public static class Leap
{
public static bool IsLeapYear(int year)
{
if (year % 4 == 0 && year % 100 == 0)
{
return true;
}
else
{
return false;
}
}
public static void main()
{
int yearq = 2015;
bool result = IsLeapYear(yearq);
Console.WriteLine(result);
}
}
编辑:
问题似乎不在于该功能,而在于Game.combat:
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.'
}