因此,我正在爲我自己的個人享受創建一個戰鬥系統,並試圖解決它的治療部分。當我使用一個治療項目時,它會增加最大生命值,當該值超過當前最大生命值時,無論治癒效果的值是多少。限制最大值
我查了一下,有人提出了Saturation Arithmetic,但我在google上找不到任何解釋這個過程的東西。然後我在Stack上發現了另一個話題,解釋了同樣的問題,並得到了答案,但是當我嘗試它時,它不起作用。長話短說。
這是我正在使用的代碼塊。
public void useHealItem2(CharStats hero, Enemy enemy, Battle battle){
Math.min(hero.hp += 500, hero.hp);
battle.herodmg = enemy.att - hero.def;
hero.hp -= battle.herodmg;
}
所以我想設置最大值爲一個可變的數量,而不是一個固定的數字。所以當英雄的HP增加時,這將自動縮放。我認爲這是有問題的,因爲它首先設置hp,所以它的最大值已經達到了500。如果這是有道理的。但那正是我想的,我真的不知道。
治療項目應該做什麼?您的遊戲是否具有「當前HP」與「最大HP」的概念? – dnault
使用'clipLevel * tanh(inputValue/clipLevel)'。這是一個相當常見的音頻剪輯算法。 –
對於@dnault,現在我確實使用了Stendika的建議。但是謝謝你的加入! – Kristaphonie