Re: [閒聊] 有沒有覺的AR自己玩到的總是那幾隻??

看板WarCraft (魔獸爭霸 - 魔獸爭霸3)作者 (踢...)時間17年前 (2008/04/15 15:39), 編輯推噓40(40022)
留言62則, 44人參與, 最新討論串1/1
※ 引述《wei7613 (小噗)》之銘言: : 如題 : 自己發現有些腳色很少自己AR到 因為我曾經有幸看到很久之前幾版觸發random的sorce code 來跟大家說一下 其實三國的random是公平的 只是需要想一下就是了 改編後的jass和c++混用版: (將0~n設定為代表每個武將的編號) set HeroType[每個武將編號] = 該武將; int TempNumber; for(int counter = 0; counter < n+1 ; counter++) { if( HeroTpye[counter] != 無部隊類型) { int RNumber = 隨機數字 between 0 ~ counter; if(RNumber = 0)TempNumber = counter; } } set HeroType[TempNumber] = 你ar到的武將; 再將這個HerpType清空就完成了 (有沒有人有興趣測一下time complexity?) 白話版: 讓一個暫存值一開始為0 重複n次以下動作: 每一次的動作時暫存值遞增 如果這個武將還沒被選走 就隨機選一個從0到暫存值的數字 若此隨機數字為0 就將該武將先"假定"為你選到的武將(若之前有就蓋過去) 等到重複的動作做完後最後"假定"的武將就是你ar到的武將 解說: 第一次動作時一定會選到0 那你就會"假定"選到0編號的武將 但是後面的重複機率選擇時有可能覆蓋過去 所以選到0編號武將的機率是1 x 1/2 x 2/3 x ... x n-1/n = 1/n 選到1編號武將的機率是1 x 1/2 x 2/3 x ... x n-1/n = 1/n 選到2編號武將的機率是1 x 1(有沒有選到都沒關係 會被覆蓋)             x 1/3 x 3/4 x ... x n-1/n = 1/n 選到n編號武將的機率是1 x 1 x ... x 1/n = 1/n 所以是公平的 -- code是自己打的沒關係吧= =a -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.244.179

04/15 15:39, , 1F
原po是宅男
04/15 15:39, 1F

04/15 15:39, , 2F
推專業
04/15 15:39, 2F

04/15 15:44, , 3F
宅男+1
04/15 15:44, 3F

04/15 15:49, , 4F
source?
04/15 15:49, 4F

04/15 15:54, , 5F
只要 "隨機數字" 本身不是不夠隨機,整個機制就爛了。
04/15 15:54, 5F

04/15 15:56, , 6F
寫的好似乎最多只能趨近隨機吧 @@ 聽朋友說的
04/15 15:56, 6F

04/15 15:58, , 7F
這就講到組合了~C n選n 難怪我根本不懂
04/15 15:58, 7F

04/15 16:01, , 8F
大喬*10次  一天玩一場  天天同一隻= =
04/15 16:01, 8F

04/15 16:07, , 9F
根本是徹底的c++ XD
04/15 16:07, 9F

04/15 16:10, , 10F
這樣也宅男..不懂
04/15 16:10, 10F

04/15 16:18, , 11F
推認真 Q_Q
04/15 16:18, 11F

04/15 16:23, , 12F
好認真,不過看不懂,我還是覺得每隻的機率根本都不一樣
04/15 16:23, 12F

04/15 16:24, , 13F
不會R到的就都沒R到過,可能我天生帶賽吧@@"
04/15 16:24, 13F

04/15 16:32, , 14F
我的電腦只會r到阿蘇,符不,大牛,其他從來沒出現過
04/15 16:32, 14F

04/15 16:49, , 15F
魔獸的隨機數本來就有問題 所以無論如何都不會太隨機XD
04/15 16:49, 15F

04/15 16:57, , 16F
1 + rand() % n ...
04/15 16:57, 16F

04/15 16:56, , 17F
就算不會太隨機 也不可能讓你玩起來覺得不隨機
04/15 16:56, 17F

04/15 16:57, , 18F
專業
04/15 16:57, 18F

04/15 17:00, , 19F
好像哪裡怪怪的?
04/15 17:00, 19F

04/15 17:07, , 20F
原PO,下禮拜一上機考唷>.^
04/15 17:07, 20F

04/15 17:08, , 21F
原po又帥又型  妹要圖找我A__A
04/15 17:08, 21F

04/15 17:12, , 22F
原po很龜
04/15 17:12, 22F

04/15 17:14, , 23F
04/15 17:14, 23F

04/15 17:32, , 24F
隨機數字不夠隨機 時間複雜度 N
04/15 17:32, 24F

04/15 17:36, , 25F
為什麼這樣叫宅>"<
04/15 17:36, 25F

04/15 17:45, , 26F
"重點部分"竟然寫中文= =
04/15 17:45, 26F

04/15 17:53, , 27F
看不懂= =不過我知道 我每次R到的角色都那幾隻...很少別的
04/15 17:53, 27F

04/15 17:57, , 28F
我猜每個人的電腦 存的東西都不一樣........
04/15 17:57, 28F

04/15 17:57, , 29F
random seed的問題,跟這有關係? 還可以m?
04/15 17:57, 29F

04/15 17:58, , 30F
所以每個人會固定ar到自己記憶空間專屬的某幾支
04/15 17:58, 30F

04/15 18:01, , 31F
不要跟記者一樣啥都宅男 M型好嗎
04/15 18:01, 31F

04/15 18:01, , 32F
很想噓.. 你根本沒有解答 而且迴圈是跑n+1次
04/15 18:01, 32F

04/15 18:05, , 33F
...這段code沒意義吧
04/15 18:05, 33F

04/15 18:05, , 34F
一般來說random都會拿時間當seed 不知道魔獸是不是這樣罷了
04/15 18:05, 34F

04/15 18:05, , 35F
我以前那幾篇都沒有m 哭哭 根本就不隨機啊..公式準也無用
04/15 18:05, 35F

04/15 18:08, , 36F
武將是0~n的話不是就n+1個武將嗎??
04/15 18:08, 36F

04/15 18:09, , 37F
我是覺得應該還要設一個跑player的迴圈吧@@?
04/15 18:09, 37F

04/15 18:22, , 38F
專業
04/15 18:22, 38F

04/15 18:23, , 39F
魔獸的random seed抓的time是game time
04/15 18:23, 39F

04/15 18:24, , 40F
才能在網路遊戲時 保持參予電腦的同步性
04/15 18:24, 40F

04/15 18:25, , 41F
會說War3的random不準也是這個原因
04/15 18:25, 41F

04/15 18:26, , 42F
因為基本上你會按-ar的時間也不會有太多差別
04/15 18:26, 42F

04/15 18:26, , 43F
lan每0.01秒一次封包 一秒內也只有100個不同的seed
04/15 18:26, 43F

04/15 18:36, , 44F
推專業樓上~
04/15 18:36, 44F
來回一下 我po這篇只是想回答關於"人為"的部份 想表達的就只是"三國作者沒有來陰的"這樣而已 我根本就不知道WE random seed是從game time裡面抓的 就算知道了也不是寫WE的人可以解決的吧? 有些人似乎反應過度= =? 最後感謝readper大的解答^^" ※ 編輯: wheels 來自: 140.113.244.179 (04/15 19:18)

04/15 19:15, , 45F
專業宅!
04/15 19:15, 45F

04/15 19:45, , 46F
那些推是反應給設m文之人看的
04/15 19:45, 46F

04/15 21:28, , 47F
推樓上....
04/15 21:28, 47F

04/15 21:44, , 48F
專業資工系果真不同@@"
04/15 21:44, 48F

04/15 22:22, , 49F
推,雖然懶的看XD
04/15 22:22, 49F

04/15 22:24, , 50F
只有不專業的人才會推專業...
04/15 22:24, 50F

04/15 22:28, , 51F
那如此專業的你,是不是也要發表一下更專業的講解呢?
04/15 22:28, 51F

04/15 23:39, , 52F
你把那幾行co上去用用看就知道了
04/15 23:39, 52F

04/15 23:50, , 53F
本 jass 很明顯打錯 herotype
04/15 23:50, 53F

04/16 00:15, , 54F
外行看熱鬧的真多
04/16 00:15, 54F

04/16 03:06, , 55F
推熱心 光是肯提正面的想法出來供大家討論就值得推了..
04/16 03:06, 55F

04/16 03:09, , 56F
不懂為什麼有人要酸@@..
04/16 03:09, 56F

04/16 05:44, , 57F
只要 "隨機數字" 本身不是不夠隨機,整個機制就爛了。
04/16 05:44, 57F

04/16 17:50, , 58F
靠背個屁啊~要說人家有語法錯誤~COMPILE不會過是不是
04/16 17:50, 58F

04/16 17:51, , 59F
重點在於分享的心啦
04/16 17:51, 59F

04/16 17:53, , 60F
說一堆搞的自己好像比較專業~省省吧
04/16 17:53, 60F

04/16 22:52, , 61F
原PO是型男
04/16 22:52, 61F

04/19 03:46, , 62F
論點有問題的推證被m 會讓懂的人看了發噱 不懂的人產生謬思
04/19 03:46, 62F
文章代碼(AID): #1815kStA (WarCraft)
文章代碼(AID): #1815kStA (WarCraft)