推 grandzxcv: 單機隨機就FFXII的神器 11/24 18:34
推 andy0481: 推這篇 那堆玄學抓時間大量抽幹嘛的根本意義不明.. 11/24 18:35
→ andy0481: 不過看龍珠那篇會有人覺得官方吃飽太閒去微調這種超麻煩 11/24 18:35
→ andy0481: 又沒啥賺頭的行為...就知道類似謠言永遠不會停止的 11/24 18:36
推 codemoon: 我自己碰過的手遊server 包含日韓的不過量不多 寫法都差 11/24 18:36
→ codemoon: 不多 看你是用什麼語言 是java server就用java內建的ran 11/24 18:36
→ codemoon: dom出一個數字 之後看 數字落在哪裡去判斷而已 11/24 18:36
→ ssccg: 明明random最好寫也沒什麼不對的,就是有人會去想很多... 11/24 18:50
推 j9145: 微調機率不是謠言,是真的有在做,我就講到這 11/24 18:51
→ ssccg: 產生出亂數後還會用表定機率去分配哪個數字是對應哪張卡 11/24 19:03
→ ssccg: 要調機率調這個對應範圍就好,不需要去動亂數產生的部分 11/24 19:03
噓 miname: 我不知道你是用哪套lib啦,最好是會有每個值只會出現一次 11/24 19:28
→ miname: ,出現第二次就是第二輪的亂數產生器 11/24 19:28
上面不是說是C了嗎? 怎麼會扯到那一套lib..
還是你想直接看GNU C的原始碼
https://goo.gl/c7zfp4
還是要我直接幫你把算式那行標出來
val = ((state[0] * 1103515245) + 12345) & 0x7fffffff;
不管是用那一套隨機算法, 電腦能做的就只有一件事
吃一個數字, 吐另一個數字. 總有一天會循環, 看公式支援到多大而已.
除非你要每產生幾次就用時間再重新當種子
但就算這樣做, 不管你再怎麼巧妙的設計隨機的算法
它終究都還是只是個套公式算出來的假隨機
跟查表沒什麼區別, 只是你查幾張表和這些表有多大的問題而已
※ 編輯: greydust (114.24.25.166), 11/24/2017 19:46:02
推 orze04: 廢話 你每次抽種子不用重設的嗎? 11/25 03:18
→ miname: 你貼的是GNU對C lib的實作,不是C standard 11/25 03:55
→ miname: 用系統函數必須要把全部的抽獎導到同一支程式用同樣的seed 11/25 04:03
→ miname: 那支程式還不能在別的地方call rand不然這輪會有一張卡抽 11/25 04:03
→ miname: 不到 11/25 04:04
→ miname: 所以必然要自己寫一份,那個程式設計師可能和我一樣不學無 11/25 04:06
→ miname: 術,不會用linear congruential generator ,建表是合理的 11/25 04:06
→ miname: 我以為你會拿C standard來打我臉的,只看某個版本的glibc 11/25 04:15
→ miname: 是無意義的,程式設計師不應該去假設lib的實作方式,不然 11/25 04:15
→ miname: 哪天lib改實作方式就GG了 11/25 04:15
→ miname: 另外還要考慮到可能要解釋給檢察官聽和實作的困難度 11/25 04:29