作者Ross0916 ()
看板NTUEE_VAL
标题[情报] 有关乱数
时间Sat Jun 19 16:29:42 2010
由於系统提供的 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