Dreamdancer

モバマスイベント走行記、攻略情報(?)、あるいはモバマスについて思うことなど

モバマス最適フロント計算機を作りたいという話 Episode.3

昨日(日付的にはおととい)CD第7弾組のアイドルの初期カードにボイスがつきました。それはそれでCD発売や声優発表の時からずっと追加がなかったので歓迎するべきことですが、一方ありすも近い時期に声優が決まっているのに一向に初期カードにボイスがつきません。ボイスオーディションではありすが1位で周子が2位だったわけですが、2位だった周子が総選挙ガチャでお膳立てをしてもらえてそのままシンデレラガールになり、初期Rにもボイスがつき、当然シンデレラガール記念ガチャでSレア再登場しているのを見ると、果たして1位だったのを喜んでよかったのか、あるいはボイスオーディションとは一体なんだったのかという思いに駆られます。声優周りの話にしても周子は声優発表後わりとすぐにデレラジに呼ばれましたが、ありすの場合はボイスオーディション結果発表とVA1位記念ガチャの時以外露出の機会が全くありません。それに元AKBということで何だか物知り顔の人々から叩かれたりもしました。果たしてこれでいいんでしょうか。やる気がないなら適当にアイドルにボイスをつけるのはやめてはどうでしょうか。

……とか思っていたら無事月末DLFでの上位報酬としてありすが発表されましたね。それで不満もどっか行ってしまいました。ついに念願のCo上位DLFでしかも上位はありすですので、1枚取りを狙って走りたいと思います。それはそうと最適フロント計算機の方で進展がありましたのでご報告します。

計算機の条件(妥協)

実際にプログラムを組んでみると特技周りの計算が面倒くさいことが分かりました。

まず、特技発揮の数です。LIVEバトル時には1人以上3人以下のアイドルが特技を発揮するという仕様は分かっていますが、5人選んだアイドルの中からどのアイドルの特技が発揮されてどのアイドルがされないのかについて全てのパターンをチェックするとやや煩雑になります。最も特技効果量が高いアイドルはリーダーとして固定するとしても、他のアイドルが特技を発揮するかどうかについては11通りのパターンがあるからです。

そこで、特技を発揮するアイドルは最も効果が大きい3人が固定して発揮することにしました。しかしここで本来ランダムになる要素を固定して考えることにすると、ランダム特技の発揮量も別にランダムにしなくていいんじゃないか?という考えに至りました。そこで、今回の特技計算の仕様は以下の通りとすることにしました。

  • 特技は効果量が大きい上位3人が必ず発揮することとする
  • ランダム特技を持つアイドルについては、必ず最良の特技が発揮されることとする

ただまぁ以上の2つの妥協については頑張れば克服できないこともなさそうなので、将来的な改善の課題としたいと思います。

計算機の仕様(確定)

だいたいプログラムができてきたので確定した計算機の仕様を載せておきます。

  1. データを受け取ってidolCardクラスのベクタ(vec)に格納する
  2. vecから適当に5個のデータを選び、声援ptを計算するcalc関数に渡す
  3. calc関数の戻し値から声援ptを計算し、もしこれまでに計算したフロントが稼ぐ声援ptより多ければ、その声援pt・フロントメンバーを記憶しておく
  4. 以上の手順を全ての場合について繰り返す
  5. 最も声援ptを稼げるフロントのフロントメンバー・稼ぐ声援ptを出力する

idolCardから5枚選ぶのは、やはり愚直にやる以外方法がなさそうだという結論に至ったので、計算量は多くなりますが{}_n C _5回やることにしました。発揮値の計算式については上手い具合に分かったので後で載せておきます。

ということで、計算機はおそらく明日か明後日には完成します。その暁にはGitHubかどこかにコードを上げてここでも報告したいと思います。