Fw: [問卦] 寧寧雞寫程式時是用space還是tab縮排已回收
※ [本文轉錄自 Gossiping 看板 #1Pfw8CCA ]
作者: reinforce15 (可魯貝洛斯) 看板: Gossiping
標題: Re: [問卦] 寧寧雞寫程式時是用space還是tab縮排
時間: Thu Aug 31 13:43:38 2017
※ 引述《justwe5566 (傑士塔紗路的老公)》之銘言:
: 乳提
: 可愛的寧寧雞
: http://i.imgur.com/P5c7HIF.jpg

: 最近開始學寫程式
: 不知道寧寧雞縮排都用space還是tab
: 好想知道喔
: U咪U寧寧雞是space派還是tab派的八卦?
你好 我好 各位姆咪好
我是小光 http://i.imgur.com/1fhF9x3.jpg

我覺得她應該是用space吧
不過本光還是喜歡用快捷鍵一鍵縮排 讚
話說第二季好好看喔 那隻貓也好可愛
第二季 第09分第34秒處
http://i.imgur.com/35hXCjk.png

上圖是寧寧原本的code 把他轉OCR
//
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();
}
}
}
而且寧寧說執行時會卡住
好 讓我們來看看問題出在哪
首先
請各位姆咪們先看到第37行 DestroyMe()
有沒有發現? 這個DestroyMe()只有在血條小於等於0時才會被call
再來請姆咪們看到第34行這裡
也就是說 如果當 m_currentHealth 小於等於 0.f時
會一直是true的狀態 而一直去重複執行DestroyMe()
但又因DestroyMe()之前已經被call過了
可能會造成記憶體沒有東西可以讓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();
}
}
如此一來 既能把第30行的for 與第34行的if分離開來
不會重複去DestroyMe
又能把Damage丟到迴圈外
不過有點疑問的是...
這樣寫不會在編譯時就跳出警告 或就直接出錯嗎?
我在猜啦 可能造成遊戲卡死的原因不是只有這個
其他地方可能也有logic上的問題
還有寧寧的compiler左側那欄我怎麼看都沒References
這樣沒問題嗎
啊對 海子那個應該可以用Qt來做到
只是沒她的source code
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.136.48
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1504158220.A.30A.html
推
08/31 13:45, , 1F
08/31 13:45, 1F
→
08/31 13:45, , 2F
08/31 13:45, 2F
推
08/31 13:45, , 3F
08/31 13:45, 3F
→
08/31 13:45, , 4F
08/31 13:45, 4F
噓
08/31 13:45, , 5F
08/31 13:45, 5F
推
08/31 13:47, , 6F
08/31 13:47, 6F
噓
08/31 13:52, , 7F
08/31 13:52, 7F
※ 編輯: reinforce15 (1.161.136.48), 08/31/2017 13:54:31
※ 編輯: reinforce15 (1.161.136.48), 08/31/2017 13:57:58
→
08/31 14:01, , 8F
08/31 14:01, 8F
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: reinforce15 (1.161.136.48), 08/31/2017 14:51:58
推
08/31 14:53, , 9F
08/31 14:53, 9F
推
08/31 14:54, , 10F
08/31 14:54, 10F
推
08/31 14:55, , 11F
08/31 14:55, 11F
噓
08/31 14:55, , 12F
08/31 14:55, 12F
推
08/31 14:56, , 13F
08/31 14:56, 13F
推
08/31 14:56, , 14F
08/31 14:56, 14F
推
08/31 14:57, , 15F
08/31 14:57, 15F
推
08/31 14:58, , 16F
08/31 14:58, 16F
噓
08/31 14:58, , 17F
08/31 14:58, 17F
推
08/31 14:59, , 18F
08/31 14:59, 18F
→
08/31 14:59, , 19F
08/31 14:59, 19F
→
08/31 14:59, , 20F
08/31 14:59, 20F
→
08/31 15:00, , 21F
08/31 15:00, 21F
→
08/31 15:00, , 22F
08/31 15:00, 22F
→
08/31 15:00, , 23F
08/31 15:00, 23F
→
08/31 15:01, , 24F
08/31 15:01, 24F
→
08/31 15:01, , 25F
08/31 15:01, 25F
推
08/31 15:01, , 26F
08/31 15:01, 26F
推
08/31 15:03, , 27F
08/31 15:03, 27F
→
08/31 15:04, , 28F
08/31 15:04, 28F
→
08/31 15:04, , 29F
08/31 15:04, 29F
推
08/31 15:05, , 30F
08/31 15:05, 30F
→
08/31 15:05, , 31F
08/31 15:05, 31F
→
08/31 15:07, , 32F
08/31 15:07, 32F
推
08/31 15:08, , 33F
08/31 15:08, 33F

→
08/31 15:12, , 34F
08/31 15:12, 34F
→
08/31 15:12, , 35F
08/31 15:12, 35F
推
08/31 15:14, , 36F
08/31 15:14, 36F
推
08/31 15:14, , 37F
08/31 15:14, 37F
還有 28 則推文
→
08/31 15:58, , 66F
08/31 15:58, 66F
推
08/31 15:58, , 67F
08/31 15:58, 67F
→
08/31 15:59, , 68F
08/31 15:59, 68F
→
08/31 16:00, , 69F
08/31 16:00, 69F
→
08/31 16:00, , 70F
08/31 16:00, 70F
→
08/31 16:00, , 71F
08/31 16:00, 71F
推
08/31 16:02, , 72F
08/31 16:02, 72F
推
08/31 16:04, , 73F
08/31 16:04, 73F
推
08/31 16:05, , 74F
08/31 16:05, 74F
推
08/31 16:08, , 75F
08/31 16:08, 75F
→
08/31 16:08, , 76F
08/31 16:08, 76F
推
08/31 16:20, , 77F
08/31 16:20, 77F
→
08/31 16:21, , 78F
08/31 16:21, 78F
推
08/31 16:27, , 79F
08/31 16:27, 79F
→
08/31 16:27, , 80F
08/31 16:27, 80F
推
08/31 16:28, , 81F
08/31 16:28, 81F
→
08/31 16:29, , 82F
08/31 16:29, 82F
推
08/31 16:32, , 83F
08/31 16:32, 83F
推
08/31 16:38, , 84F
08/31 16:38, 84F
→
08/31 16:40, , 85F
08/31 16:40, 85F
→
08/31 16:54, , 86F
08/31 16:54, 86F
推
08/31 17:07, , 87F
08/31 17:07, 87F
推
08/31 17:09, , 88F
08/31 17:09, 88F
→
08/31 17:09, , 89F
08/31 17:09, 89F
→
08/31 17:09, , 90F
08/31 17:09, 90F
→
08/31 17:09, , 91F
08/31 17:09, 91F
→
08/31 17:11, , 92F
08/31 17:11, 92F
→
08/31 17:11, , 93F
08/31 17:11, 93F
推
08/31 17:18, , 94F
08/31 17:18, 94F
推
08/31 17:25, , 95F
08/31 17:25, 95F
推
08/31 17:33, , 96F
08/31 17:33, 96F
推
08/31 17:41, , 97F
08/31 17:41, 97F
推
08/31 18:22, , 98F
08/31 18:22, 98F
推
08/31 19:22, , 99F
08/31 19:22, 99F
推
08/31 19:26, , 100F
08/31 19:26, 100F
推
08/31 20:09, , 101F
08/31 20:09, 101F
推
08/31 20:45, , 102F
08/31 20:45, 102F
推
08/31 21:19, , 103F
08/31 21:19, 103F
推
08/31 21:37, , 104F
08/31 21:37, 104F
推
08/31 22:11, , 105F
08/31 22:11, 105F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):