台灣最大程式設計社群網站
線上人數
1715
 
會員總數:245254
討論主題:189112
歡迎您免費加入會員
討論區列表 >> C# >> 參考別人的控制隨機中獎的機率
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
參考別人的控制隨機中獎的機率
價值 : 50 QP  點閱數:642 回應數:5

樓主

阿忠
門外漢
0 36
498 108
發送站內信

以下是我參考別人的demo,有幾點不懂,請版上大大幫我解答,謝謝!!





搜尋相關Tags的文章: [ 控制隨機中獎 ] ,
本篇文章發表於2018-07-18 21:20
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

阿忠
檢舉此回應
另外發現 Enumerable.Range(1, 10000).ToList().ForEach(x => {Console.WriteLine("第{0}次選擇{1}", x, 抽獎(轉盤).名稱);}); 若改成一萬筆,Console只能顯示9000筆...是本身的限制嗎? 顯示1001-10000
若改成 Enumerable.Range(1, 9000) 顯示 1-9000筆
本篇文章回覆於2018-07-18 21:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小魚
檢舉此回應
那是linq語法
本篇文章回覆於2018-07-18 22:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

春天
檢舉此回應
1. 可以用Dictionary<獎品, 次數>記錄獎品後再打印出來
2. x應該 跟for(int i = 0 ...) 這裡面的i一樣意思(不確定,沒用過List.Foreach)
3. Rnd.Next(轉盤.Count()) 隨機一個0到轉盤數量範圍內的數字,再用這個數字當成Index去查詢List<轉盤> 取得Item也就是獎品
4. 傳回0~99中隨機的一個整數 (這邊的隨機有點問題,可自行上網查詢Random.Next的問題)
5. "隨機選擇一個產品"的Type是Class 獎品,這邊用"骰子"跟獎品.機率百分比來判斷有沒有中獎
6. 回傳所有判斷中獎的獎品中的第一個"獎品" (而且Function不是也載明了回傳物件類型了?)

"個人"覺的這段程式有些缺點,像List.Foreach跟用For去跑方法一樣意思,但Foreach卻讓次數給抽獎方法去控制
還有中文不曉得是原始碼如此還是樓主改的,這也很不建議

本篇文章回覆於2018-07-19 09:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

阿忠
檢舉此回應
我也覺得中文不太好但原文是這樣 https://bbs.csdn.net/topics/360066331

目前只是想先了解...對於第五點..骰子=Rnd.Next(0, 100)隨機產生0-99

例如獎品1 機率是0.5 什麼時候才有可能成立" 骰子 < 隨機選擇一個產品.機率百分比"?
本篇文章回覆於2018-07-19 10:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

春天
檢舉此回應
這應該是Bug所在,看起來似乎永遠不會成立
本篇文章回覆於2018-07-19 11:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.