Re: [請益] 想請問一下一個抽獎程式的流程問題

看板PHP作者 (可倫)時間14年前 (2011/04/30 23:36), 編輯推噓6(609)
留言15則, 9人參與, 最新討論串4/5 (看更多)
我之前有做過一個解法,反正現在電腦記憶體都很大,提供你一下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

05/01 00:03, , 1F
這位前輩,您想的方法跟我一樣阿XDD
05/01 00:03, 1F

05/01 01:01, , 2F
這樣一定會符合機率的啊XD 只是這樣是個別抽獎的機率
05/01 01:01, 2F

05/01 01:01, , 3F
之後業主會跟你說,怎麼會有這麼多人中獎捏~~~
05/01 01:01, 3F

05/01 01:02, , 4F
實際上他們可能希望的是拿到全部的玩家名單之後再抽獎,
05/01 01:02, 4F

05/01 01:02, , 5F
這樣還得改一下,不過原理是一樣的XD
05/01 01:02, 5F

05/01 01:02, , 6F
最好是讓業主告訴你他們有多少禮物,這樣加進去算比較
05/01 01:02, 6F

05/01 01:02, , 7F
準確XD
05/01 01:02, 7F

05/01 01:15, , 8F
雖然不知道要抽什麼,不過請設定讓我中獎,謝謝
05/01 01:15, 8F

05/01 12:33, , 9F
然不知道要抽什麼,不過請設定讓我中獎,謝謝
05/01 12:33, 9F

05/01 15:39, , 10F
雖然不知道要抽什麼,不過請設定讓我中獎,謝謝
05/01 15:39, 10F

05/01 19:57, , 11F
雖然不知道要抽什麼,不過請設定讓我中獎,謝謝
05/01 19:57, 11F

05/02 10:21, , 12F
然不知道要抽什麼,不過請設定讓我中獎,謝謝
05/02 10:21, 12F

05/02 10:21, , 13F
雖然不知道要抽什麼,不過請設定讓我中獎,謝謝
05/02 10:21, 13F

05/02 15:03, , 14F
抽筋好了
05/02 15:03, 14F

05/02 19:09, , 15F
雖然不知道要抽什麼,不過請設定讓我中獎,謝謝
05/02 19:09, 15F
文章代碼(AID): #1Dl2oH5Y (PHP)
文章代碼(AID): #1Dl2oH5Y (PHP)