У меня есть корпус и щит, и я хочу, чтобы он был поврежден, чтобы получить урон и вычесть его из щита сначала, а затем, когда он пуст, чтобы взять с корпуса. Но если у щита было 100 левых и урон был 400, то корпус, если он начинался с 1000, составлял 700.Вычитание из здоровья
Здесь, что мне удалось сделать, часть щита работает, но алгоритм корпуса слишком сложно понять.
Player.prototype.deductHealth = function(damage)
{
var shield = (this.PlayerShield - damage);
var remainder = (damage - this.PlayerShield);
var hull = this.PlayerHull;
if(this.PlayerShield < 0)
{
hull = (this.PlayerHull - remainder);
}
if(hull <=0)
{
hull = 0;
shield = 0;
}
this.PlayerHull = hull;
this.PlayerShield = shield;
}
Я думаю, что этот вопрос лучше подходит для http://codereview.stackexchange.com –
Если вы моделируя EVE, затем обратите внимание, что любой ущерб, нанесенный повреждениям на экранах, игнорируется, за исключением того, что истекает кровянистая способность, которая зависит от навыков и оборудования. –