[心得] 將血肉段數由中文改為數字

看板mud_sanc (Sanctuary - 聖殿)作者 (hmml)時間15年前 (2010/10/03 12:41), 編輯推噓2(207)
留言9則, 3人參與, 最新討論串1/1
Pattern:為第(%1)段 chnumberlist="零 一 二 三 四 五 六 七 八 九" 先準備一個置換表chnumberlist。 #var bloodmap %1 把末加工的中文型態段數放進bloodmap裡。 #loop 0,9 {#var bloodmap %replace(@bloodmap,%word(@chnumberlist,%eval(%i+1)),%i} 利用置換表把零一二三四五六七八九改成0123456789 #case %eval(%len(@bloodmap)-%pos("百",@bloodmap=1)) {#var bloodmap %replace(@bloodmap,"百","00"} {#var bloodmap %replace(@bloodmap,"百",""} 將中文字百修改成正確的結果。 狀況 len pos 運算結果 選擇項 取代值 結果 1百 3 2 1 紅 00 100 1百01 5 2 0 白 101 1百1十 6 2 0 白 110 1百1十1 7 2 0 白 111 #case %eval(%pos("十",@bloodmap)+%len(@bloodmap)-2) {#var bloodmap %replace(@bloodmap,"十","10")} {#var bloodmap %replace(@bloodmap,"十","1")} {#var bloodmap %replace(@bloodmap,"十","0")} {#var bloodmap %replace(@bloodmap," 十","")} {#var bloodmap %replace(@bloodmap,"十","0")} {#var bloodmap %replace(@bloodmap,"十","")} {#noop} 將中文字十修改成正確的結果。 狀況 len pos total total-2 選擇項 取代值 結果 十 2 1 3 1 紅 10 10 十2 3 1 4 2 綠 1 12 2十 3 2 5 3 金 0 20 2十2 4 2 6 4 紫 22 22十 4 3 8 5 靛 0 220 22十2 5 3 8 6 灰 222 #say @bloodmap 輸出或另作他用! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.176.62

10/03 12:44, , 1F
"百"的判斷用%end應該就可以....runaway
10/03 12:44, 1F

10/03 12:48, , 2F
#case指令中,第零項就代表最後一項...
10/03 12:48, 2F

10/03 12:48, , 3F
推一個,Hmml神
10/03 12:48, 3F

10/03 18:26, , 4F
印象中..去google找有..不過它可以到萬..
10/03 18:26, 4F

10/04 18:44, , 5F
等你寫一萬段.....
10/04 18:44, 5F

10/04 18:50, , 6F
到萬...用獸魔那種寫法就可以出來..但會當吧..avert
10/04 18:50, 6F

10/05 19:39, , 7F
千段 萬段修法也跟百段差不多而己...十萬以上的才會
10/05 19:39, 7F

10/05 19:39, , 8F
變複雜....
10/05 19:39, 8F

10/05 19:41, , 9F
不過也只是從萬斷開判斷,再接回去罷了
10/05 19:41, 9F
文章代碼(AID): #1Cg0bxyW (mud_sanc)
文章代碼(AID): #1Cg0bxyW (mud_sanc)