香港寵物小精靈村落 論壇

 找回密碼
 加入
樓主: latios
打印 上一主題 下一主題

生蛋遺傳個體仍有錯誤

[複製鏈接]
11#
發表於 2/12/2007 03:34 PM | 只看該作者
一切還是看rp的玩意="=
即係係DP入面,蛋入面遺傳個體有機率遺傳到父/母合共隨機三項,亦有機率一項都遺傳唔到="=
咁要生一隻岩個體岩性格岩特性既pm出黎又加大難度了="=
回復

使用道具 舉報

12#
發表於 5/12/2007 02:27 AM | 只看該作者
既然兩位高手問到, 看來不修改是不行了, 這個秘密(?)也埋藏了數年(03年日本bbs看到的論文, 已失傳), 因為某人很懶+不太理會個體遺傳而不更新網站...
不過, 現在仍然很懶, 以下內容不會整理及更新到某網站的, 記得就記吧...

以下內容可能會令人感到噁心, 請將腦頻率調至接近電腦的思維模式, 敬請留意.

一. 個體是隨機抽 3 次, 得出 2~3(Emerald 1~3) 項會遺傳的個體, 再隨機選父或母的該項個體遺傳
ie: 即是可能 3項父, 3項母, 2項父1項母, 2項母1項父, 2項父, 2項母, 1項父1項母, (Emerald 另外有機會 1項父 或 1項母)

二. 抽個體的原理
先講Emerald以外的版本, 能力的排列序為最傳統的攻防速特, 即要留意速(SP)是03:
               HP    AT    DF    SP    SA    SD
               00    01    02    03    04    05
遺傳會抽3次, 第1次為隨機0~5, 第2次為隨機0~4, 第3次為隨機0~3,
每抽1次後, 會將排列中的該項抽走成為遺傳的項目, 並在最後補上FF(很不重要)
最初排序:      00    01    02    03    04    05
第1抽,假設(2): 00    01    03    04    05    FF         ------  由0開始數, 排第2的是02(DF), 抽走, 即會遺傳父或母的防
第2抽,假設(2): 00    01    04    05    FF    FF         ------  又隨機到(2), 排第2的是03(SP), 抽走, 即會遺傳父或母的速
第3抽,假設(2): 00    01    05    FF    FF    FF         ------  又再隨機到(2), 排第2的是04(SA), 抽走, 即會遺傳父或母的特攻

就這樣, 理論上完美的不重複隨機, 將會遺傳了防, 速和特攻, 隨機由父或母中遺傳.
可是, 只是理論上, 不幸的是遊戲內的split函數是有病的......

三. 重複bug的原因
承上, split(抽出)函數的bug是重複個體的元凶, 現在我們看看它的犯罪過程, 案件重演繼續由"Emerald以外的版本"為藍本.
為了方便觀眾了解行凶手法, 會在遇害人被抽出後打上虛擬格仔, 絕不是因為18禁.
(虛擬格仔在記憶體上不存在, 是為了方便觀看split函數的出錯原理)
(另外, 在排序最後補上FF實在不重要, 因為每下一次抽時, 隨機上限已減1, 不會遺傳到FF, 遺傳FF就真的hang機了; 所以, 以下不寫補上的FF)

最初排序:      00    01    02    03    04    05
第1抽,假設(2): 00    01    口    03    04    05    ------  由0開始數, 排第2的是02(DF), 抽走, 即會遺傳父或母的防 (跟上次一樣)
第2抽,假設(2): 00    01    口    03    口    05    ------  又隨機到(2), 排第2的是03(SP), 即會遺傳父或母的速; 直到這一刻仍然沒有問題, 會遺傳速, 因為遺傳數的數目是正常, 只是刪除的動作有問題. 因為split函數假設了"口", 認為不存在的"口"是危險的, 數到它時, 如果剛好停了, 便會進入虛無; 所以split函認為見到"口"時自己要停1次不計; 但是實際上"口"不存在, 只會停1次其後的數值, 於是它數出了 0, 1, (看到口), 1(停一次), 2, 所以刪除了04(SA)
第3抽,假設(2): 00    01    口    03    口    05    ------  又再隨機到(2), 排第2的是03(SP), 即會重複遺傳父或母的速... 而split函數數出了 0, 1, (看到口), 1, (看到口), 1, 2, 刪除了一個FF(沒有影響, 因為最後又會加上一個FF)

結果上, 將會遺傳防和速, 隨機由父或母中遺傳.

四. 個體遺傳組合的機會率
首先, 要欣賞你捱到這裏仍然未放棄, 現在要說組合機會率了.
不過, 如果是想明白Emerald版本的組合機會率的話, 要在下一章才看到Emerald的病態變種.
聰明的看倌, 大概已想到, Emerald以外的版本:
1. 最少會遺傳2項, 因為第1抽是沒有"口", 即沒有bug, 不會重複地被抽出.
2. 要遺傳SD, 只有在第1抽中有機會抽出, 換句話說, 遺傳到SD的機會率較少, 但遺傳到SD時, 一定是3項遺傳
機會率嘛, 底數當然是 6 x 5 x 4 = 120 (3次抽的隨機上限, 不要說不明白, 請讀中四數學課程)
2項遺傳時, 有SD的是0/120(沒機會), 其他1/120
3項遺傳時, 因為bug的問題, 逐個案例計算, 會得出 5/120 或 6/120; 當然, 有人計了, 附列表:
http://www.pokedex.jp/rs/breeding.html (一表列出版)
http://www.geocities.jp/kairyus_ballpark/column/iden5.html (分開列出版, 最後一表是指不論遺傳了1項還是3項, 總之會遺傳某項例如HP時就可以的機會率)

五. Emerald的惡搞文化, 及其個體遺傳組合的機會率
大概已看了上面的表, 會看到Emerald完全是另一回事,
但看到這裏, 腦袋應該跟電腦同調了吧?
一看會遺傳1項, 但HP和防的1項遺傳機會率卻是0, 以及HP+DF的2項遺傳機會率都是0,
加上3項遺傳時, 有HP和防的遺傳機會率都比較低下, 便知Emerald是病變了:
1. 排列序改變成 SP SA SD AT DF HP
2. 放棄split函數, 盲目地隨機3次 0~5, 0~4, 0~3...
看到這裏, 便會明白, 第1抽以後, 最尾HP不會出現, 第2抽以後, 連尾二的DF也不會出現;
所以該兩項很自然地低下了, 而且因為是可重複隨機, 1項遺傳亦有可能.
至於機會率亦是中四的程度, 自行看表領悟吧...

六. 總結
只想遺傳HP或者DF的話, Emerald以外有較高機會率;
但是, 餘下4個(AT,SA,SD,SP)中想有1 ~ 3項遺傳, Emerald有較高機會率;
不過, 只是想一定有3項遺傳, 還是Emerald以外有較高機會率.



[ 本帖最後由 mentholatum 於 5/12/2007 09:59 AM 編輯 ]
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 加入

本版積分規則

手機版|Archiver|香港寵物小精靈村落

GMT+8, 3/3/2025 06:44 AM , Processed in 0.014258 second(s), 13 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表