アセンから得られるAURA関係のパラメータを総当たりでリスト化する
要旨
AURAを前提としてアセンを考える際、AURAレベル、チャージ時間、パーツ個数制限などをひとつずつ計算するのが面倒なので、アセンを総当たりでリスト化し、ソート、フィルタリングができないかを検討しました。
一例として、フラガ機を組む際のアセンを考え、94万5千通りの組み合わせを総当たりでリスト化することができました。
詳細
やりたいこと
下記のようなリストを出力することを目標にします。
例として、フラガ機を作ることを想定し、AURA以外のパーツをいくつか固定したうえで、空きパーツスロットにAURAパーツを入れることを考えます。
データの準備
アセンをリスト化した後、合計のAURAレベルを計算するため、使用候補パーツの個々の性能をリスト化したものを準備します。
組み合わせの考え方
まず、部位ごとの組み合わせを考えます。
例えば、BDは3スロットのところに、候補パーツが4種類あります。この時の組み合わせは、重複組み合わせですので、(4+3-1)C3=20通りとなります。
次に、部位ごとに求めた組み合わせに対し、部位同士の組み合わせを計算します。こちらは単純に部位ごとに求めた組み合わせの掛け算(正確には直積)です。
HD(6通り)x BD(20通り)x AM(5通り)x BSJ(35通り)x BS(15通り)x AC(3通り)= 945,000通り
計算
Pythonでプログラムを組み、945,000通りの組み合わせをリスト化しました。時間は12分ほどかかりました。
出力された945,000行のcsvファイルは約300MBでした。
それぞれのアセンと、AURA関係のパラメータがリスト化できました。
ここからのフィルターやソートはEXCELで行います。
ビームパワーでソートしてみました。得られる最大のビームパワーは9であることと、そのときのアセンが分かります。
チャージ時間でソートしてみます。最大で114秒機が存在します。
フィルターを使うこと、AURAパーツを固定した時の組み合わせを検討することができます。例えば、ACスロットの一つを「なし」に固定すると、天を1枚にしたときの条件で絞り込めます。
出力したファイルを圧縮してアップロードしました。
行数が多いため、そのままExcelで開くと数分かかりますので注意してください。
ExcelのCSVインポート機能で、必要なパラメータでフィルタリングしてからExcelに取り込むことをお勧めします。
今後の展開
WEBアプリ化
現在は、条件によっては処理に3時間くらいかかるため、サーバーへの負荷が大きくWEBアプリ化はしていません。プログラムがもっと高速化できれば、画像切り出しツールのように、WEBアプリ化したいと思います。
もし計算したい組み合わせがあれば、コメント欄もしくはTwitterでコメントを頂ければ、ローカルで計算してアップロードします。
AURA以外の計算
AURA以外にも、威力+%アップ などの条件でも同じことができます。AURAに比べてパーツ数が多いので、計算にはかなり時間がかかるものと思います。
副産物
AURA対応パーツ一覧
抜けや誤りがあるかも。(2022/8/28 AirTableに移行)
この記事が気に入ったらサポートをしてみませんか?