2020年2月23日日曜日

合成シミュレータ・アップデート(ver0.20→ver0.22)

かなり放置だったのに思った以上の人に使ってもらえて感謝でございます。
粗削りだった部分をバージョンアップ。部隊シミュに向けてリハビリです。

2020/2/24追記 [ver0.22]
★S1候補合わせでシミュレートすると不具合が起きるパターンがあったので緊急修正。

[ver0.21]
★童カードを素材カードにセット+特殊候補が出現する場合
 シミュレート結果がおかしくなる不具合を修正。
★内部処理見直しのため、合成条件保存用のiniファイルフォーマットを一部変更。
 ver0.20で保存した合成条件をver0.21で開こうとすると怒られます。
〇[画面版]武将名を表示。
No.更新を押すとレア、武将名、初期スキルが埋まります。
※ただし初期スキルについてはTDのような特殊合成が可能なカードは
「別形態を含め複数初期スキルを保持」している場合があるのでこういった場合は
 手入力してください。

〇[画面版]スキル入力欄で自動補完に対応。
(一部入力すると合致するものをリスト表示)
部分一致でリスト候補が自動で出てきます。少しは入力を楽に。。

〇[画面版]追加カード側で「追加/入替」スキルに応じて削除可能なスキルを制御。
入替スキルのランクを見て、削除可能な候補数を超えていればエラーに。
上の画面の状態で更に「八幡軍神」をクリックした時に怒られるようになりました。

〇[画面版]setting.iniで補正率、特殊候補等の初期表示値を設定できるように。
〇[Excel版]フォーマットが一部変更になっています。
(武将カードのレアリティを不要に)

Excel版、自分用にIXAの画面をHTML保存するとシミュレータ用フォーマットに
整形して一括出力するスクリプトを追加書いてみたのですが・・・
こういうのは規約に触れるかもしれないので同梱していません。
(ご存じの人いれば教えてください)

2020年2月16日日曜日

合成シミュレータ・アゲイン><

イクサーの皆様お久しぶりです。かれこれ2年間放置しておりました。。
ブログの書き方をすっかり忘れてしまい、過去記事を見直すと黒歴史がいっぱいで
お恥ずかしい限りのHidです(笑

表題の件、趣味でアプリを作るための勉強の一環で
合成シミュレータを作り直してみようと一念発起。
新章に完全対応して再リリースです><
※ある程度動作確認しましたが、シミュレーション結果は0.01%単位の誤差があります。
 丸め誤差の処理を完全トレースまではできませんでした。。。
 また、不具合やDB情報誤り等で、実際の合成確率と異なる結果が出力される可能性
 があります。使用は自己責任でお願いします。以上、予防線です。

今回の合成シミュレータ、モードが2種類あります。(画面モード、Excelモード)
1.画面モード
  これまでの合成シミュレータと同じく画面から条件をポチポチ設定して
  シミュレーションを行うモードです。
2.Excelモード
  ちまちま画面上で設定するのは大変なので、Excel上に所定のフォーマットで
  合成素材達と各種条件を設定、複数条件を一発シミュレートするモードです。

  ■   ◇   ■   ◇   ■   ◇   ■   ◇

【1.画面モード】
起動時の画面は下のようなイメージです。
追加カードというのが「合成元の武将」で
素材カード1、素材カード2が「合成素材武将」となります。
あとは必要な値を埋めていきます。注意点を羅列しておきます。
・No更新ボタンの横の欄はカードID(4桁数字のやつ)を入れてください。
 カードIDを入れてからNo更新ボタンを押すとレア、初期スキルが入ります)
・条件保存ボタンを押すと、入力した条件を保存しておくことができます。
 ボタンを押すと保存ファイル名を聞かれて、そこで適当な名前で保存すると
  ***.ini という名前のファイルが生成されます。
・条件読込ボタンを押すと、保存した ***.ini ファイルを読み込んで画面上の
 項目に設定を流し込んでくれます。
必要項目の設定ができたら、シミュレーション実行ボタンから実行!
実際の画面で合成しようとするとこちら。
冒頭でも注意書きで書いた通り、内部の丸め処理がなんだか不明なんですよね・・・
この例では「烈侵滅国」と「式神ノ冥王」が0.01%ずつずれています。。
このロジックが近いのでは、みたいなのを知っている方がいれば教えてください><
合成シミュレーション後、シミュレーション結果の表をクリックすると
スキルの候補からの除外ができます。
同じく0.01%ずれていますが、それなりにシミュレートできています。
注意なのがこの削除操作、現時点ではシミュレーション上では本来は除外できない
レアリティのものでもいくつでも除外できてしまいます。
※使っていただける方が多ければいずれ小改善します。

  ■   ◇   ■   ◇   ■   ◇   ■   ◇

【2.Excelモード】
次にExcelモードの説明です。
こちらはお得意様仕様ですので設定が若干わかりにくいです。。
取込シート_sample.xlsx というExcelファイルを同梱していて、このシートの
必要な欄を埋めた状態で、IxaUnion.exe にそのエクセルをドラッグすると
シミュレーション結果.xlsx という結果出力ファイルができます。
具体的な取込シートの設定例を紹介します。
★詳細な設定方法はExcelシート上にコメントに記載しています。
まず「カード情報」に合成に利用するカードに関する情報を設定します。
次に「合成条件」シートに各種条件を設定します。
分かりにくいですが、カード情報で定義したカード同士を組み合わせて
・義輝×盛親
・義輝×猿夜叉丸(童)
・義輝×(盛親+猿夜叉丸)
といった3パターンを設定しています。パターン数は無制限に設定可能ですが、
こちらも画面モードと同様の注意点があり、現時点ではありえない条件を記載して
シミュレートすることができてしまうのでご注意ください。
この状態のサンプルシートを IxaUnion.exe に投げ込むと・・・
結果を記載した新しいExcelファイル(シミュレーション結果.xlsx)ができます。
それぞれの行が、それぞれのパターンでのシミュレーション結果となっています。
Excelモードは、予め育成したいカードと素材カードをまとめて「カード情報」
シートに登録しておいて、どのカードにどの素材をどうぶつけるのかを検討するのに
良いのではないかと思います。
一応DBには新天も入れておきましたが・・・一枚も引けません・・・(´・ω・`)