Re: [求助] 主力隊配法

看板KanColle (艦隊Collection)作者 (芸)時間11年前 (2013/10/06 14:37), 編輯推噓11(11027)
留言38則, 12人參與, 最新討論串2/2 (看更多)
稍微說一下,關於機率的問題 下面有人說取樣是以毫秒來取的,我想這不太可能。 我本身也有在寫程式,基本上以毫秒取是不太可能的。 舉個例子: 一分鐘擲骰子一次跟一秒鐘擲骰子一次,哪個人會先手酸這不言而喻。 今天電腦的處理速度有限,用毫秒來取意味著負擔會很大 如果是單機遊戲還好,但如果是像艦娘這種就會掛掉。 而且flash是一種很肥大的程式語言 想想便可知24*60*60*100*人數是多麼大的數字,如果這樣作 我看開放人數要先少 1/100才行。 一般而言,不管是哪個程式語言只要你沒刻意去指定的話都是以時間為變數, 而為了減少負擔,大部分都會以分或秒來改變機率一次,而且會用個變數確保 一分鐘或一秒鐘以內不會再取。 所以隔壁棚的P&D才會流行所謂的"墊子法"(XX分時升技會成功) 接下來要討論機率的問題,究竟是先決定會造出戰艦OR重巡 還是直接就決定會出哪艘,如果是前者那墊子法就會很有效,後者就算用墊子法也沒差 聽起來有點複雜,我舉個例子: 根據巴哈的Q&A出戰艦的機率是35% 第一種 丟骰子-重巡(65%)or戰艦(35%)-丟骰子-決定艦娘 基本上如果是這樣墊子法可以固定第一個變數,會一直出特定艦種但會出誰不知道 第二種 丟骰子-決定艦娘 出同隻艦娘的機率很高,但我認為決定艦娘的變數不只一個,可能有好幾個 這樣即使固定了其中一個你也無法固定剩下的幾個。 或許有人會說第一種決定艦種不會有兩個以上的變數嗎,我想大概是不會的 如前面所講,程式設計師不喜歡增加程式的無謂負擔,變數是用的越少越好。 再來我認為用第一種機率很高,一來程式碼維護方便,二來搞活動也方便, 再來,遊戲出現的艦種會根據配方不同而出現不同的結果,用第一個會比第二個來的好寫 (我個人認為拉) 懶人包: 如果你想造BB或CV,我建議以分鐘為單位造,沒出就等下一分鐘,有出就連續造 再出的機率會很高。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.12.134

10/06 14:45, , 1F
你的手酸理論,除非是資源無限且不吃網速才會成立吧
10/06 14:45, 1F

10/06 14:46, , 2F
而且用分秒都是人去定義的,對電腦來說都是一次動作不是?
10/06 14:46, 2F

10/06 14:48, , 3F
而且前端用flash呈現,好像跟後台用什麼寫沒關聯…
10/06 14:48, 3F
可能我不是講得很清楚,當同時有很多人按下建造,這時如果再取變數,伺服器的 負擔會很大,我們都怕下雨時水淹過堤防,處理量太大,伺服器會不穩

10/06 14:48, , 4F
不是很懂怎麼得到懶人包結論的耶
10/06 14:48, 4F

10/06 14:49, , 5F
如果真的是以分鐘分鐘單位擲骰子 那不是應該該分鐘內
10/06 14:49, 5F

10/06 14:49, , 6F
全部都是相同艦種? 可是顯然不是啊
10/06 14:49, 6F
理論是很高機率,我內文有提到,因為可能多摻了幾個變數誰也不知道。

10/06 14:56, , 7F
亂數種子通常是取電腦的時間 電腦的時間是精確到毫秒的
10/06 14:56, 7F

10/06 14:56, , 8F
另外亂數種子並不需要每次取亂數都重新產生一次
10/06 14:56, 8F
每次建造都A=MATH.RANDOM()想必伺服器會爆炸的,另外我否定的是 每次取變數間隔的時間,不是電腦可以精準到哪裡。 ※ 編輯: y2468101216 來自: 220.135.12.134 (10/06 15:11)

10/06 15:07, , 9F
推Kenqr
10/06 15:07, 9F

10/06 15:11, , 10F
一般來說取亂數是以秒為單位沒錯啦
10/06 15:11, 10F

10/06 15:11, , 11F
但如K大說的,種子根本不用每次重取.......
10/06 15:11, 11F

10/06 15:13, , 12F
我的意思就是參了幾個變數不知道 所以(ry
10/06 15:13, 12F

10/06 15:14, , 13F
取亂數不過是去亂數表挖下一個值而已....
10/06 15:14, 13F

10/06 15:18, , 14F
而且如果人數很多,我還可以根本不用亂數
10/06 15:18, 14F

10/06 15:19, , 15F
1~10000下去每個人輪,然後每次抽就依材料找一下對應...
10/06 15:19, 15F

10/06 15:20, , 16F
方法實在太多了,而這篇文的前提要成立的機率也不是很高
10/06 15:20, 16F

10/06 15:20, , 17F
東西都在玩家電腦算的吧,怎麼可能丟回伺服器算WWW
10/06 15:20, 17F

10/06 15:21, , 18F
抽選機率的東西給伺服器算這點倒是很正常啦...
10/06 15:21, 18F

10/06 15:21, , 19F
當然是HASH一下送回去驗證,沒那麼難吧@@
10/06 15:21, 19F

10/06 15:22, , 20F
我自己寫的server就沒這麼搞毛,不然封包加密是加爽der
10/06 15:22, 20F

10/06 15:23, , 21F
雖然我是覺得機會不大,但也不能否認你的說法
10/06 15:23, 21F

10/06 15:24, , 22F
反正就是可能性太多,各種說法成立的機率都太低
10/06 15:24, 22F

10/06 15:25, , 23F
一切看程式設計師爽怎麼寫,不是拿自己習慣下去說就高機率對
10/06 15:25, 23F

10/06 15:29, , 24F
給aresa 你按建造或開發時系統會卡一下 這時就回傳了
10/06 15:29, 24F

10/06 15:30, , 25F
客戶端是拉結果 因為這東西在客戶端算會出事的
10/06 15:30, 25F

10/06 15:32, , 26F
艦kore封包有加密?那怎麼會有46cm連裝砲醬....
10/06 15:32, 26F

10/06 15:33, , 27F
那個是伺服器端沒作二次驗證的關係吧 也有開場艦娘島風啊
10/06 15:33, 27F

10/06 15:33, , 28F
假如隔一分鐘才取一次亂數 那我在一分鐘內一直用同樣的配方
10/06 15:33, 28F

10/06 15:33, , 29F
就一定會造出同樣的船 可是實際上並非如此
10/06 15:33, 29F

10/06 15:34, , 30F
看來我犯了拿自己的東西套到別人的東西的錯了XD
10/06 15:34, 30F

10/06 15:37, , 31F
抽選機率如果是玩家端在計算 你會看到一堆人100%命中46砲
10/06 15:37, 31F

10/06 15:38, , 32F
戰鬥傷害之類的 計算量很大 有可能偷懶直接在玩家端算
10/06 15:38, 32F

10/06 15:38, , 33F
造艦或開放之類的就不太可能在玩家端算了
10/06 15:38, 33F

10/06 15:39, , 34F
10/06 15:39, 34F

10/06 15:41, , 35F
電腦網路lag的時候 造艦or撿到艦娘時會lag很明顯
10/06 15:41, 35F

10/06 15:58, , 36F
改成取變數區間 後在骰子取區間中變數如何?
10/06 15:58, 36F

10/06 16:29, , 37F
以時間(日.時.分.秒.)為基準的變數?
10/06 16:29, 37F

10/06 16:52, , 38F
對電腦來說 時間大概都是拿timestamp來算
10/06 16:52, 38F
睡一覺起來後看大家的討論得很有深度,釣魚大成功(拖走 學到了不少東西,感謝各位XD ※ 編輯: y2468101216 來自: 220.135.12.134 (10/06 17:55)
文章代碼(AID): #1IKGKFd_ (KanColle)
討論串 (同標題文章)
文章代碼(AID): #1IKGKFd_ (KanColle)