Re: [閒聊] 你板資工系請進已回收

看板Marginalman作者 (甚麼都不想做的凱瑞)時間2年前 (2023/11/01 13:15), 編輯推噓2(200)
留言2則, 2人參與, 2年前最新討論串10/10 (看更多)
※ 引述《bmtuspd276b (這啥)》之銘言: : 推 sustainer123: 忘記寫break就G了 助教都說推薦if else 11/01 10:54 : → Wardyal: 我也都寫if else捏 11/01 10:55 : 所以當年yandere dev(病嬌模擬器那位)這張圖 : https://imgur.com/LyjxLAL.png
: 一堆人認為吐槽點在用大量的if else : 但其實問題在用字串去做判斷是不是? 不懂程式 用字串做判斷很正常,只是整段code的重複度太高 我的話可能會這樣寫,把這個 if (this.Witnessed == "") 包成一個function private boolean containsTarget(String witnessed) { String teacherReaction = "Teacher " + witnessed + " Reaction"; if (witnessed.contains("Insanity") { this.Subtitle.UpdateLabel(teacherReaction, 1, (float)6); this.GameOverCause = witnessed; return true; } if (witnessed.contains("Weapon")) { ... } if (witnessed.contains("Blood")) { ... } return false; } 因為看起來遇到多個原因時,順位是從Insanity->Weapon->Blood下去 所以就按照這個順序下去做檢查 不過我是覺得乾脆用Map把所有的reaction都設置一個權重 就讓witnessed等於最大的那個reaction就好 反正他Subtitle.UpdateLabel和GameOverCause也是吃最大的那個值而已 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.218.223.78 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1698815703.A.F2A.html

11/01 13:37, 2年前 , 1F
大師
11/01 13:37, 1F

11/01 13:52, 2年前 , 2F
大師
11/01 13:52, 2F
文章代碼(AID): #1bGTxNyg (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bGTxNyg (Marginalman)