代理的隨機並非完全不變 - 手遊

Wallis avatar
By Wallis
at 2020-07-14T17:58

Table of Contents

※ 引述《AirFuckKing (空幹王)》之銘言:
: ※ 引述《x94fujo6 ()》之銘言:
: : 機率的判定是靠亂數表
: 是靠隨機函式帶入seed值後回傳的值判定

所以產生的整串亂數每次都一樣
不能當成一個表/軸看?

: : 亂數表是每場戰鬥進場才隨機產生的
: 初始的seed值是每場戰鬥進場才隨機產生
: : 然後該場戰鬥中的機率判定就是照這個固定的表來跑
: 依照隨機函式帶入初始的seed值 以及後續seed遞迴的值 所回傳值進行判定
: : 同一場戰鬥/代理中
: : 亂數表是不變的
: 初始seed是不變的
: : 所以代理在[某種程度上]可以重現機率判定
: : 但並不是完全不變
: : 隊伍裡面有技能/天賦是機率或是隊伍練度高了打怪變快
: : 都可能導致亂數表偏移
: 都可能導致帶入隨機函數的seed值不一樣所回傳的值不一樣

就偏移 你這樣說讓不懂的人看不懂比較厲害?

: : 例如原本你錄到的代理亂數表是
: : 編號 01 02 03 04 05 06 07 08 09 10 11 12
: : 亂數 11 73 50 62 38 99 14 34 26 81 56 30
: : (這張表的數字不重要,重要的是判定結果)
: : 例如這場戰鬥你用12F檔攻擊
: : 不管你用他檔多久,重點是你每用他檔一次傷害就會進行一次機率判定
: seed就會進行一次遞迴運算 這會導致原本要帶入隨機函式的seed值遞迴項次不一樣
: : 這會消耗掉一個亂數表上的亂數
: : 但是隊伍練度提升了,怪死的比較早
: : 結果12F少扛一次攻擊,那之後所有機率判定用的亂數就會全部提前一個
: 使遞迴的seed值提前一個
: : 當判定時用的數字不一樣就會影響結果

沒有原始碼 無法證明後面到底怎麼實作的
再說不需要遞迴新的亂數種子
亂數的實現方法本來就已經包含

只要最一開始設定就可以
也符合代理的要求的重現機率判定結果

目前能觀測到的結果
其他幹員因為各種原因而導致多用一個/少用一個
讓後續的結果偏移掉
也可以靠用其它幹員消耗亂數把你要的結果連接起來

隨便寫個python
這是模擬 黑 二技 機率50%
import random
random.seed(100)
for loop in range(0, 10):
random_number = round(random.random()*100)
if random_number > 50:
critical = 0
else:
critical = 1
print("序號:{:02d}, 亂數:{:02d}, 判定結果:{}"
.format(loop, random_number, critical))

執行結果 (序號加給人看的)
序號:00, 亂數:15, 判定結果:1
序號:01, 亂數:45, 判定結果:1
序號:02, 亂數:77, 判定結果:0
序號:03, 亂數:71, 判定結果:0
序號:04, 亂數:73, 判定結果:0
序號:05, 亂數:43, 判定結果:1
序號:06, 亂數:80, 判定結果:0
序號:07, 亂數:53, 判定結果:0
序號:08, 亂數:08, 判定結果:1
序號:09, 亂數:46, 判定結果:1

種子固定 產生的亂數也固定
整場下來 整個亂數序列 = 亂數表
當表看人類方便理解也方便操作

上面模擬代理紀錄結果是前兩次成功爆擊 但接下來三次沒有
實戰中讓黑繼續可以連續爆擊的方法
用其它幹員把中間沒爆擊的亂數序列消耗掉
效果等於黑可以跳過沒爆擊的那幾個亂數
變成
import random
random.seed(100)
for loop in range(0, 10):
random_number = round(random.random() * 100)
if not any(x == loop for x in [2, 3, 4, 6, 7]):
if random_number > 50:
critical = 0
else:
critical = 1
print("序號:{:02d}, 亂數:{:02d}, 判定結果:{}"
.format(loop, random_number, critical))

序號:00, 亂數:15, 判定結果:1
序號:01, 亂數:45, 判定結果:1
序號:05, 亂數:43, 判定結果:1
序號:08, 亂數:08, 判定結果:1
序號:09, 亂數:46, 判定結果:1

現在只觀測黑的情況下就是連續爆擊5次
也符合實戰測試結果

--
Tags: 手遊

All Comments

Carolina Franco avatar
By Carolina Franco
at 2020-07-17T12:03
樓下披薩貓推看不懂= =
Eden avatar
By Eden
at 2020-07-21T05:31
看不懂== 有文組看得懂的方式嗎?
Charlotte avatar
By Charlotte
at 2020-07-25T23:32
亂數表這個名詞就是讓文組看得懂的方式了(?
Rosalind avatar
By Rosalind
at 2020-07-28T18:21
喔喔原來是這樣子,嗯我現在完全搞懂了<--代理指揮貌
Steve avatar
By Steve
at 2020-08-02T08:13
太棒了,我逐漸理解一切.jpg
Yedda avatar
By Yedda
at 2020-08-02T21:58
https://i.imgur.com/6PUqhGR.jpg
Elizabeth avatar
By Elizabeth
at 2020-08-03T23:29
娘子快跟我出來看真正的刀客塔怎麼玩遊戲的

手機還沒辦法更新的千萬別開電腦玩

Odelette avatar
By Odelette
at 2020-07-14T16:19
因為電腦版已經是今天更新的版本了,如果用電腦版登入過手機卻還沒更新的話 手機登入會跟你說你已經登入過新版本的所以要更新才能進 ...問題是你他媽的PLAY商店就還沒放更新版上去啊!!! 共勉之 -- Sent from SitaraPTT on my OchanomizuMirie - ...

台服新手

Ula avatar
By Ula
at 2020-07-14T14:05
https://i.imgur.com/2IKYJTj.jpg 這是小弟目前的主力成員 目前遇到的問題是 1.狙擊的陣營嚴重不足 比較好用的幾個狙擊都沒有抽到 2.黃票是否應該兌換德克薩斯 黃票111張 看到很多文章都說德克薩斯在後期表現不錯 而且跟推進之王用處不一樣 但目前黃票目標是賽媽 換德狗的話下 ...

代理的隨機並非完全不變

Brianna avatar
By Brianna
at 2020-07-14T13:47
※ 引述《x94fujo6 ()》之銘言: : 機率的判定是靠亂數表 是靠隨機函式帶入seed值後回傳的值判定 : 亂數表是每場戰鬥進場才隨機產生的 初始的seed值是每場戰鬥進場才隨機產生 : 然後該場戰鬥中的機率判定就是照這個固定的表來跑 依照隨機函式帶入初始的seed值 以及後續seed遞迴的 ...

代理的隨機並非完全不變

Michael avatar
By Michael
at 2020-07-14T09:13
※ 引述《x94fujo6 ()》之銘言: : 標題: [閒聊] 代理的隨機並非完全不變 : 時間: Sun Jul 12 22:56:33 2020 : : 機率的判定是靠亂數表 : 亂數表是每場戰鬥進場才隨機產生的 : 然後該場戰鬥中的機率判定就是照這個固定的表來跑 : 同一場戰鬥/代理中 : 亂數表是不 ...

台服-第一波時裝預告

Charlotte avatar
By Charlotte
at 2020-07-14T08:21
https://m.facebook.com/story.php?story_fbid=1169343720081848andamp;id=755044344845123 #時裝預告 #訊使 【寒武紀™1096系列 – 新航線】 輕盈簡約,為攀岩與登山而設計,使用耐磨和防水材質,保暖性能優越,為所有冒險家 ...