Re: [信長] 自柳生出場到現在的迷思...
看板WarCraft (魔獸爭霸 - 魔獸爭霸3)作者lom123456 (☆◤煞气a阿翔◢☆)時間14年前 (2011/03/23 23:04)推噓20(20推 0噓 11→)留言31則, 27人參與討論串5/5 (看更多)
※ 引述《b0017570 (FN)》之銘言:
: ※ 引述《tinkens (十戒*行屍走肉)》之銘言:
: : 推 blackjack0s:如果是傳統的random寫法 機率不是都相同的 03/23 16:01
: : → blackjack0s:然後我瞎猜的認為 這兩個新英雄可能沒加到隨機列表? 03/23 16:02
: : 應該是這可能性比較高@@...是因為之前都沒人提出,所以我才發文來問問
: 開地圖重新看了一下
: 編號[1]~[36]是織田軍英雄
: 編號[51]~[85]是聯合軍英雄
: 編號[101]~[123]是中立英雄
: 隨機的寫法是先Rand 3
: 若為 1 則去Rand[101]~[121]
: 若不為 1 則再Rand 2
: 若為 1 則Rand[1]~[36]
: 否則Rand[51]~[85]
: 看出Bug了嗎?
code的部分就不說了...因為我沒寫過地圖
不知道他會不會有甚麼特別的算法....
不過照肉眼看起來
我不懂為什麼不Rand 3後面設三個判斷式就是了... (if 1 & if 2 & else)
直接講魔獸random的部分
基本上 一定會有些英雄random到的機率很低
那倒不是bug
而是魔獸本身的random是用java的GetRandomInt這個函數來寫的
這個函數長這樣...
int __cdecl get_random_int_cj(int a, int b)
{
int result;
int range;
int rand_number;
if ( a == b )
{
result = a; // 如果上下限相等,直接返回
}
else
{
if ( a <= b )
range = b - a + 1;
else
range = a - b + 1;
// 6FACE230是随机种子。本函数计算随机数并且更新种子
rand_number = random_data_calculate_and_update((__int32 *)dword_6FACE230);/
result = a + shift_right(32u, (unsigned int)range * rand_number);
}
return result;
}
(懶得打字直接擷取26網站上的code...)
我的理解上啦...
他這個種子的擷取法是用系統開機的時間去做的
然後再用下面那兩行的公式去算出結果的數值
所以其實還蠻不隨機的
如果有心人士的話
只要知道公式怎麼算、種子的時間怎麼取得
他就可以直接推導出要在怎樣的情況下就能以非常高的機率V到自己想要的英雄
所以...大家常常會覺得某些英雄特別容易V到
並不是沒有原因的~
因為他本來就很可能跟你電腦狀況、使用習慣一起考慮近random裡面
(說是可能因為我沒有去真的研究random怎麼擷取種子的...沒啥意義= =)
所以下次覺得總是V到誰誰誰
不妨考慮一下改一下V的習慣喔XD
p.s 如果有錯麻煩請神人更正@@ 很怕給大家錯誤的訊息~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.227.131.57
推
03/23 23:06, , 1F
03/23 23:06, 1F
推
03/23 23:11, , 2F
03/23 23:11, 2F
推
03/23 23:11, , 3F
03/23 23:11, 3F
→
03/23 23:27, , 4F
03/23 23:27, 4F
推
03/23 23:37, , 5F
03/23 23:37, 5F
→
03/23 23:47, , 6F
03/23 23:47, 6F
推
03/23 23:57, , 7F
03/23 23:57, 7F
→
03/23 23:59, , 8F
03/23 23:59, 8F
推
03/24 00:03, , 9F
03/24 00:03, 9F
推
03/24 00:17, , 10F
03/24 00:17, 10F
推
03/24 00:25, , 11F
03/24 00:25, 11F
推
03/24 00:40, , 12F
03/24 00:40, 12F
→
03/24 00:40, , 13F
03/24 00:40, 13F
推
03/24 00:44, , 14F
03/24 00:44, 14F
→
03/24 00:52, , 15F
03/24 00:52, 15F
推
03/24 01:48, , 16F
03/24 01:48, 16F
推
03/24 03:02, , 17F
03/24 03:02, 17F
推
03/24 04:03, , 18F
03/24 04:03, 18F
推
03/24 04:16, , 19F
03/24 04:16, 19F
推
03/24 08:22, , 20F
03/24 08:22, 20F
推
03/24 08:35, , 21F
03/24 08:35, 21F
→
03/24 08:35, , 22F
03/24 08:35, 22F
推
03/24 12:29, , 23F
03/24 12:29, 23F
推
03/24 13:00, , 24F
03/24 13:00, 24F
→
03/24 14:24, , 25F
03/24 14:24, 25F
推
03/24 16:59, , 26F
03/24 16:59, 26F
→
03/24 22:25, , 27F
03/24 22:25, 27F
→
03/24 22:26, , 28F
03/24 22:26, 28F
→
03/24 22:27, , 29F
03/24 22:27, 29F
推
03/27 01:29, , 30F
03/27 01:29, 30F
→
03/27 01:31, , 31F
03/27 01:31, 31F
討論串 (同標題文章)
WarCraft 近期熱門文章
PTT遊戲區 即時熱門文章