看板 Visual_Basic 關於我們 聯絡資訊
http://blog.miniasp.com/post/2008/05/Random-vs-RNGCryptoServiceProvider.aspx 這篇文章有說到,亂數是使用「有限性數學演算法」所計算出來的結果 也使用.NET Reflector看過亂數只是數學運算的結果而已 如果有需要夠強的亂數的話,可以使用 RNGCryptoServiceProvider 來產生 只是在練習程式的話用Rnd就足夠了 google關鍵字:「.net 亂數」 Random類別 http://www.dotblogs.com.tw/larrynung/archive/2010/01/04/12801.aspx Randomize方法 http://msdn.microsoft.com/zh-tw/library/5tdhk2yh.aspx ※ 引述《b25459870 (Skyer)》之銘言: : Visual Studio 2012 : 小弟是剛入門的新手 : 想寫些小遊戲 : 如何取亂數也算是老問題了 : 以下是我目前的程式碼 : Label1.Text = "" : Dim card As Integer : Dim out(9) As Integer : Dim err As Integer '確認有無錯誤 : Randomize() : For i = 1 To 100 : card = Int(Rnd() * 10) + 1 '取1~10之亂數 : Select Case card '用意是紀錄1~10之出現次數 : Case 1 : out(0) += 1 : Case 2 : out(1) += 1 : 吃掉 占版面 : Case 10 : out(9) += 1 : End Select : Next : For j = 0 To 9 : Label1.Text &= out(j) & vbCrLf : Next : 小弟初學,所以只能用比較笨的方法測試 : 如果各位大大有能簡化的方法也可以順便教教小弟 : 正題... : ramdomize(timer)+rnd是最簡單方便取亂數的方式 : 但是我發現...他出來的數字並不是非常平均分布 : 爬文+google : 好像滿少對這類的討論.... : 想請問有沒有更好的寫法,取的亂數更平均分配呢? -- ▃▅▇▆▄ ▆▂▃ ` 逝去感如何能留住,半點遺留殊不易,██▅▇▄▃ ▇▃▂" . █████████▃i ▁▄▇ 更多悽悽慘慘的遭遇………██▆▃ █▅▆▃ˍ▄* ▂█▄▇▅▂. 我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.72.87
b25459870:感謝 過好久才看到 來去摸摸看 06/05 10:40