看板 PHP 關於我們 聯絡資訊
我之前有做過一個解法,反正現在電腦記憶體都很大,提供你一下XD (我知道一定很白癡,不過我不是讀科班的,然後這種case也不值多少錢,懶得想XD) 你就準備一個一維陣列,然後假設機率是10%、15%、20%等等(湊到100%) 就開一個寬度是100的,用for依序把1、2、3獎順序填入這個陣列 這個填入的程式只要用for寫就可以了,機率可以先定義在一個陣列裡,foreach 讀出來之後電腦自己去把牌組建立好 之後用shuffle打亂陣列(洗牌),再把第一個抽出來,就結束了XD 如果是小數怎麼辦,擴分XD ※ 引述《lionSYH (獅子王)》之銘言: : 小弟最近在做一個抽獎程式 : 假設有4個獎項... : 我想要控制 : 1獎機率為10% : 2獎20% : 3獎30% : 4獎40% : 我想到的方法比較蠢... : 就是產生10個陣列...定為a : 1獎放在a[0] : 2獎a[1] a[2] : 3獎a[3] a[4] a[5] : 4獎a[6] a[7] a[8] a[9] : 之後再rand(0,9) 看中的哪個.. : 不過在機率大時還可以在這樣用, : 如果機率中有0.01 或是15.35這種非整數的機率出現時 : 我的陣列數就要產生相當多 : 不知道有沒有更好的方法,可以達成呢!? : 麻煩各位前輩了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.32.29
smallsong:這位前輩,您想的方法跟我一樣阿XDD 05/01 00:03
Kelunyang:這樣一定會符合機率的啊XD 只是這樣是個別抽獎的機率 05/01 01:01
Kelunyang:之後業主會跟你說,怎麼會有這麼多人中獎捏~~~ 05/01 01:01
Kelunyang:實際上他們可能希望的是拿到全部的玩家名單之後再抽獎, 05/01 01:02
Kelunyang:這樣還得改一下,不過原理是一樣的XD 05/01 01:02
Kelunyang:最好是讓業主告訴你他們有多少禮物,這樣加進去算比較 05/01 01:02
Kelunyang:準確XD 05/01 01:02
shadowjohn:雖然不知道要抽什麼,不過請設定讓我中獎,謝謝 05/01 01:15
cavitylapper:然不知道要抽什麼,不過請設定讓我中獎,謝謝 05/01 12:33
mp607: 雖然不知道要抽什麼,不過請設定讓我中獎,謝謝 05/01 15:39
mattttt: 雖然不知道要抽什麼,不過請設定讓我中獎,謝謝 05/01 19:57
rocairforce: 然不知道要抽什麼,不過請設定讓我中獎,謝謝 05/02 10:21
Kelunyang: 雖然不知道要抽什麼,不過請設定讓我中獎,謝謝 05/02 10:21
imcar:抽筋好了 05/02 15:03
angelplume:雖然不知道要抽什麼,不過請設定讓我中獎,謝謝 05/02 19:09