バトルファクトリーの最初の6匹を解析してみる その5
データを集めているとき、相手の3匹が6匹の性格値より後の乱数列に見つからないことがあった。
初期seed: 0xfe0001f6
6匹: アノプス,オムナイト,ユキカブリ,ウソハチ,ビブラーバ,グレッグル
3匹: ワンリキー,デルビル,ポリゴン
ファクトリーID: ワンリキー=43,デルビル=72,ポリゴン=134
乱数列から手で相手の3匹を探してみると
216: 0xc4b5900e 43 50357 217: 0x0c06fa69 72 03078 218: 0x957afd28 134 38266
だが、6匹の性格値は283までの乱数を使っているはずなのだ。
24: 0xa15f114e 150 - 0xa15f % 150 = 89 ビブラーバ 25: 0xdd1482a9 150 - 0xdd14 % 150 = 104 アノプス 26: 0x59418068 150 - 0x5941 % 150 = 101 オムナイト 27: 0xae73bcbb 150 - 0xae73 % 150 = 41 グレッグル 28: 0xfe6ab612 150 - 0xfe6a % 150 = 120 バタフリー (アイテム重複のため無視) 29: 0x3ad5621d 150 - 0x3ad5 % 150 = 89 ビブラーバ (重複のため無視) 30: 0x502dfccc 150 - 0x502d % 150 = 25 ウソハチ 31: 0x78632b4f 150 - 0x7863 % 150 = 81 ユキカブリ ビブラーバ 親ID: 01925 32: 0x0785e316 性格値: 0xf0ef7fea 80: 0x7fea72c6 81: 0xf0ef92c1 性格: ひかえめ 特性: ふゆう 性別: ♂ アノプス 親ID: 05886 82: 0x16feaaa0 性格値: 0x0529bda3 126: 0xbda3b92c 127: 0x0529a02f 性格: いじっぱり 特性: カブトアーマー 性別: ♂ オムナイト 親ID: 46305 128: 0xb4e1e676 性格値: 0x88204a6c 164: 0x4a6cc8da 165: 0x88205145 性格: ずぶとい 特性: すいすい 性別: ♂ グレッグル 親ID: 12004 166: 0x2ee400d4 性格値: 0x2e368807 182: 0x880702e4 183: 0x2e361387 性格: いじっぱり 特性: かんそうはだ 性別: ♀ ウソハチ 親ID: 34915 184: 0x8863d2ee 性格値: 0x731c6d97 212: 0x6d97038a 213: 0x731cee35 性格: いじっぱり 特性: いしあたま 性別: ♂ ユキカブリ 親ID: 34275 214: 0x85e3f304 性格値: 0x951131d5 282: 0x31d55168 283: 0x9511b9bb 性格: いじっぱり 特性: ゆきふらし 性別: ♂
うーん、性格値決定のアルゴリズムが間違っているのか?6匹の親IDが一致するか調べておけばよかったけど調べずに戦ってしまった。
今後同じことが起こったらIDの一致を調べよう。
と思ったら簡単なことだった。
6匹の種類の決定が上に書いた24から始まる乱数列を使っているのではなく、実際には25から始まる乱数列を使っているようだ。
25: 0xdd1482a9 150 - 0xdd14 % 150 = 104 アノプス 26: 0x59418068 150 - 0x5941 % 150 = 101 オムナイト 27: 0xae73bcbb 150 - 0xae73 % 150 = 41 グレッグル 28: 0xfe6ab612 150 - 0xfe6a % 150 = 120 バタフリー (アイテム重複のため無視) 29: 0x3ad5621d 150 - 0x3ad5 % 150 = 89 ビブラーバ 30: 0x502dfccc 150 - 0x502d % 150 = 25 ウソハチ 31: 0x78632b4f 150 - 0x7863 % 150 = 81 ユキカブリ アノプス 親ID: 01925 32: 0x0785e316 性格値: 0x7118662c 76: 0x662caac2 77: 0x7118310d 性格: いじっぱり 特性: カブトアーマー 性別: ♂ オムナイト 親ID: 49997 78: 0xc34d38fc 性格値: 0x4a75e474 116: 0xe474b22a 117: 0x4a750855 性格: ずぶとい 特性: すいすい 性別: ♂ グレッグル 親ID: 25372 118: 0x631cd2a4 性格値: 0x0529bda3 126: 0xbda3b92c 127: 0x0529a02f 性格: いじっぱり 特性: かんそうはだ 性別: ♂ ビブラーバ 親ID: 46305 128: 0xb4e1e676 性格値: 0x0e626d09 172: 0x6d098022 173: 0x0e624aed 性格: ひかえめ 特性: ふゆう 性別: ♀ ウソハチ 親ID: 13052 174: 0x32fc7d5c 性格値: 0x2e368807 182: 0x880702e4 183: 0x2e361387 性格: いじっぱり 特性: いしあたま 性別: ♀ ユキカブリ 親ID: 34915 184: 0x8863d2ee 性格値: 0x731c6d97 212: 0x6d97038a 213: 0x731cee35 性格: いじっぱり 特性: ゆきふらし 性別: ♂
相手の3匹
216: 0xc4b5900e 150 - 0xc4b5 % 150 = 43 ワンリキー 217: 0x0c06fa69 150 - 0x0c06 % 150 = 72 デルビル 218: 0x957afd28 150 - 0x957a % 150 = 134 ポリゴン ワンリキー 親ID: 04976 219: 0x13705a7b 性格値: 0xe4ec57a2 237: 0x57a26c2d 238: 0xe4ec259c 性格: いじっぱり 特性: こんじょう 性別: ♂ デルビル 親ID: 07849 239: 0x1ea9ebdf 性格値: 0x3abbf5df 245: 0xf5dfdad5 246: 0x3abb7324 性格: いじっぱり 特性: もらいび 性別: ♂ ポリゴン 親ID: 20669 247: 0x50bd5ec7 性格値: 0xc5653e37 253: 0x3e37767d 254: 0xc565e9ac 性格: ひかえめ 特性: ダウンロード 性別: 不明
ツールに6匹の組み合わせが出る候補が複数ある場合の処理を追加した。うーむ、ついついツールいじりに夢中になってしまう。