Re: [閒聊] 輪盤系統完工了..

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間14年前 (2011/06/17 23:02), 編輯推噓3(305)
留言8則, 2人參與, 最新討論串3/3 (看更多)
myst 的做法是,type 有四種,因此 win_check 也做四回, 每回再依據每一 type 需 check 的次數各自迴圈。 因此,形成 win_check 被呼叫 N 次、然後 win_check 內的 迴圈也做 N 次的情況。 win_check 的內容很單純.. int win_check(string win_kind,string win_str,int pay_kind) { string win_id,user_id; foreach(win_id in keys(rotary_data)) // 迴圈 if(sscanf(win_id,win_kind+"/%s",user_id)==1) bet_winer(user_id,win_kind,win_str,pay_kind); } 換言之,即使不寫函數,光只是硬把 foreach 套進每次的判 斷,就足以改善掉目前的 lag 情況。 但是呢,因為 foreach 的內容是針對每個 rotary_data,而 它是全域變數,因此產生了本次最佳化的基本改法.. foreach(win_id in keys(rotary_data)) { 先判斷 win_id 的類型,再依據類型做 switch() // 這裡用 str[..] { case type 1; case type 2; case type 3; case type 4; } } 這樣只需針對 rotary_data 做「一次迴圈」,即可判斷出所 有獎項。 上面的東西預定明天修改完畢後重新開放。 Belldandy. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.9.179

06/18 09:50, , 1F
將win_check及bet_winner給合併...
06/18 09:50, 1F

06/18 10:29, , 2F
一項一項改即可,一次合併做,需 debug 的部份會變多
06/18 10:29, 2F

06/18 11:03, , 3F
變數太複雜....要修還是太煩了..還是不要看好了.amem
06/18 11:03, 3F

06/18 11:03, , 4F
目前還是想看魔法陣1號......avert
06/18 11:03, 4F

06/18 20:05, , 5F
不是可以看到了嗎? /d/spell/magic-cycle.c 大致好了
06/18 20:05, 5F

06/18 20:05, , 6F
今晚要 modify /d/spell/magic-cycle_ob.c
06/18 20:05, 6F

06/18 21:38, , 7F
技能的我只看的到enable,及heart.其它像spell,fist是
06/18 21:38, 7F

06/18 21:38, , 8F
看不到的...
06/18 21:38, 8F
文章代碼(AID): #1D-snyTq (mud_sanc)
文章代碼(AID): #1D-snyTq (mud_sanc)