學而無術者比不學無術者更加愚蠢 ----富蘭克林
玩遊戲的,總歸會有很多心得,網上略微搜一下,就會發現很多墊裝備的言論,很多人相信墊裝備有用.這是問題!!
ok,讓我們來把問題簡化一下,因為裝備打造合成概率實在是繁複,所以存在必要的簡化.問:
連續的拋一枚硬幣,失敗n次之後,第n+1次失敗的概率是多少?會不會比50%高(!!!這是我們真正要搞定出的問題).
拋硬幣,是隨機事件.理論上講,成功失敗的概率各50%(頭像朝上與否),而且任何兩次隨即之間完全無關.否則他就不叫隨機事件了.當年概率論學的不好,但是頭腦裡面還有一點意識,我不相信連續的失敗可以明顯提高成功的概率!
但是理論學的太差,我不能證明第n+1次的概率還是那麼高.....好吧,我只能寫**,看看模擬的真實情況是什麼樣子,來**:
#include #include #include #include #include #pragma comment(lib, "advapi32.lib")
#define random_times 1000000
#define fail_times 5
#define fail_percent 50
#define percent_max 100
//#define c_random
#ifdef c_random
//nop
#else
#define rand_max 65535
static hcryptprov hprovider = 0;
static const dword dwlength = 2;
static byte pbbuffer[dwlength] = {};
#endif
static void
random_init()
static void
random_close()
static int
_random()
static long random_count = 0;
static int
random_result()
else
}random_count++;
return _random();
}int main(int argc, char* argv)
std::cout<<"total: "<
這裡用了兩種隨機數的實現,一種是標準c隨機數,另外是cryptgenrandom.windows下面沒/dev/random和/dev/urandom,所以用哪個api代替.
**我不想做過多的解釋,比較重要的就那幾個巨集,沒事幹自己改變一下巨集,執行一下,看看結果:-)我這邊cryptgenrandom的兩次結果:
total: 1000000
fail: 499497
random_count: 62905788
請按任意鍵繼續. . .
total: 1000000
fail: 499914
random_count: 62979706
請按任意鍵繼續. . .
另外再上一次標準c隨機數的執行結果:
total: 1000000
fail: 500330
random_count: 63103246
請按任意鍵繼續. . .
可以看到,幾次隨即模擬的結果,差不多是相似的:連續失敗n次之後,第n+1次的概率是不變的.這才叫隨機事件.:-)
但是問題還沒完,這裡需要架設隨機數的質量非常的好,兩次隨機之間沒有關聯.事實上,標準c的隨機數很難做到這一點(偽隨機數生成器).偽隨機數,有可能被破解,**;真隨機數不會:-d.
所以,網遊在進行跟rmb相關的隨機時,可以考慮一下真隨機數,或者是質量稍微好一點的rng;跟rmb無關的,libc的rand/rand_r足矣~~~~
ps:記得我們乙個策劃,給怪物掉落的概率設定的太低(20%還是25%),然後打了據說有四十幾個怪,乙個東西都沒掉....後來換成rand_r,效果好了很多.
參考:
關於隨機數的思考
昨天,下雨了,去了乙個公司面試,出來就下雨了,開始 身上全濕了.最後在地鐵口躲雨.看這地上的六邊形的方磚,雨地落在上面.我認為落在方磚上的雨點 滴 應該是符合均勻分布的,仔細看了半天,發現似乎是這樣.這樣我想起了,計算機生成的隨機數 偽隨機數 以前在往上看到過有的人認為這樣生成的數不是隨機的,用來做...
rand 產生隨機數 及其和clock 的不同
首先我們要對rand srand有個總體的看法 srand初始化隨機種子,rand產生隨機數。定義函式 int rand void 函式說明 因為rand的內部實現是用線性同餘法做的,他不是真的隨機數,只不過是因為其週期特別長,所以有一定的範圍裡可看成是隨機的,rand 會返回一隨機數值,範圍在0至...
SPSS案例集之隨機數生成及其箱型
背景介紹 今後將陸續推出spss的實戰案例集,藉此熟悉spss軟體功能,並夯實統計學基礎。隨機數生成及其箱型圖案例 1 通過spss生成100個符合標準正態分佈n 0,1 的隨機數 1 設定spss變數 元資料 編碼 並通過excel的sum x 1 整理出一列 1 100 的資料,copy至sps...