[情報] 有關亂數

看板NTUEE_VAL作者時間14年前 (2010/06/19 16:29), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
由於系統提供的 rand() 不夠亂 我去找了一個號稱很亂 看起來很厲害的亂數 library 使用如下: 1. 請到這裡: http://www.agner.org/random/ 抓第二個 "Uniform random number generators as binary libraries" 也就是 randoma.zip 2. 抓下來解開有一大堆檔,其實只需要三個檔 randoma.h randomc.h randomaelf32.a 把這三個檔丟到 /pathg 裡頭 3. 改 pathgame.c 如下: - 最前面加上 include "randoma.h" - randomize() 中 最後一行本來是 srand(i0); 改成: SFMTgenRandomInit(i0, 1); - random_restrict_sync() 裡 有用到 rand() 的兩處要改 分別改成這樣: k = SFMTgenIRandomX(0, (PX_AVAILABLE_COUNT[INDEX_ENVR]+PX_AVAILABLE_COUNT[INDEX_SPEC]) - 1); k = SFMTgenIRandomX(0, PX_AVAILABLE_COUNT[INDEX_MODL] - 1); 其中 SFMTgenIRandomX 的第一二個參數就是亂數的下限、上限 4. 改 pathgmake 中的 pathg 那段如下 pathg : pathgame.o pathgame_strategy.o redlib.a randomaelf32.a; gcc ${FLAG} -o pathg pathgame.o pathgame_strategy.o redlib.a randomaelf32.a 5. make -f pathgmake 這樣應該就可以用啦! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.25.140
文章代碼(AID): #1C77_uwD (NTUEE_VAL)
討論串 (同標題文章)
文章代碼(AID): #1C77_uwD (NTUEE_VAL)