作者ghostmote (ghostmote)
看板C_Chat
標題Re: [問卦] 寧寧雞寫程式時是用space還是tab縮排
時間Thu Aug 31 15:18:37 2017
※ 引述《reinforce15 (可魯貝洛斯)》之銘言:
: ※ [本文轉錄自 Gossiping 看板 #1Pfw8CCA ]
: 作者: reinforce15 (可魯貝洛斯) 看板: Gossiping
: 標題: Re: [問卦] 寧寧雞寫程式時是用space還是tab縮排
: 時間: Thu Aug 31 13:43:38 2017
: ※ 引述《justwe5566 (傑士塔紗路的老公)》之銘言:
: //
: void DestructibleActor::ReceiveDamage(float sourceDamage)
: {
: //
: auto resolvedDamage = sourceDamage;
: for (const auto& debuf:m_debufs)
: {
: resolvedDamage = debuf.ApplyToDamage(resolvedDamage);
: m_currentHealth -= resolvedDamage
: if (m_currentHealth <= 0.f)
: {
: m_currentHealth = 0.f;
: DestroyMe();
: }
: }
: }
: //
: void DestructibleActor::ReceiveDamage(float sourceDamage)
: {
: //
: auto resolvedDamage = sourceDamage;
: for (const auto& debuf:m_debufs)
: {
: resolvedDamage = debuf.ApplyToDamage(resolvedDamage);
: }
: m_currentHealth -= resolvedDamage
: if (m_currentHealth <= 0.f)
: {
: m_currentHealth = 0.f;
: DestroyMe();
: }
: }
恕刪
雖然照這樣修改可以避免DestroyMe()後再次呼叫
但是這樣一來和原本的邏輯有些許差異
如果debuf.ApplyToDamage後得出的結果會有負值
就有可能造成原本會死亡的結果變成不會
試想原本HP有100
第一個Debuf 扣 200
第二個Debuf 反而加 150
原本的邏輯在第一次傷害後就會觸發 DestroyMe => 角色死亡
但修改後最後HP還剩50 => 角色存活
一點淺見
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.154.205
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1504163919.A.0CA.html
噓 lf2597: debug版 08/31 15:19
※ 編輯: ghostmote (118.163.154.205), 08/31/2017 15:21:26
→ linzero: 有的遊戲是一定時間內持續低於零才判斷死亡,而非一低於 08/31 15:21
→ linzero: 零即刻判死。所以是可以把血補回來,比如用外掛或鍵盤精 08/31 15:22
→ linzero: 靈之類的 08/31 15:22
→ SuperSg: 上c洽長姿勢 08/31 15:22
噓 bubuegg: 錯版 08/31 15:22
※ 編輯: ghostmote (118.163.154.205), 08/31/2017 15:23:38
推 louisalflame: 幫補血 嘻嘻 08/31 15:24
推 jeeyi345: 看動畫只看得懂美少女看不懂內涵 幫QQ 08/31 15:24
推 genesic: debuf可以補血的話會逼死很多命名強迫症 08/31 15:27
→ emptie: debuff有的是雙面刃吧 像是回血但是大幅度減少輸出之類的 08/31 15:28
推 diabolica: 快推 08/31 15:28
→ k03004748549: 有可能是DOT的debuff 08/31 15:29
→ aspdaspd: 取名都叫debufs了 負面效果才放這個container吧 08/31 15:33
推 genesic: 這裡的debuff看起來比較像是會放大受到的傷害 08/31 15:33
→ genesic: 因為是在ReceiveDamage的時候用sourceDamage下去計算 08/31 15:33
→ aspdaspd: 如果一個狀態同時有增益跟減益 那同理也要有一個m_bufs 08/31 15:34
→ ghostmote: 如果這個function的原作者不是自己,永遠不要相信變數名 08/31 15:35
→ genesic: 也不是說算出來一定不會是負值,只是說有命名強迫症的人 08/31 15:36
→ genesic: 會寫到全身發癢XD 08/31 15:36
→ arrenwu: 這動畫的內涵不就是美少女嗎? 怎麼會說看不懂 08/31 15:46
推 tw15: 血線以下不死可以讓其他夥伴過去救援 增加互動性 08/31 15:53
→ tw15: 或者讓玩家可以課金讓npc來救援 增加專案不被砍性 08/31 15:54
推 reinforce15: 對吼我沒想到 感謝 08/31 18:34