Calculate probability of heavy damage status of KantaiCollection by C#
艦娘の最大耐久・装甲値・現在耐久を入力すると、各最終攻撃力における大破率を計算します。
結果は折れ線グラフで表示されますが、両端以降は一定値だと考えてください。
- 表示される大破率は、単純な折れ線グラフ(6点式)と、ギザギザした折れ線グラフ(ナイーブ実装)の2種類があります
- 「6点式」は計算速度が「ナイーブ実装」より早いですが、装甲乱数の扱いにより少し大雑把です
- オプションにおける「ナイーブな実装」はより正確ですが、計算速度および見やすさが多少犠牲になります
- 俯瞰する場合は「6点式」、数値を読み取る場合は「ナイーブな実装」の方がオススメです
- 「グラフを追加」ボタンの左側にあるテキストボックスには、追加するグラフの名前を入力します
- テキストボックスに入力後、「グラフを追加」すると、それが画面下に表示されます
- メニューの「編集」→「グラフを全て消去」を選択すると、入力したグラフを全て消去できます
- 上記を繰り返せば、複数のパターンを1つのグラフに表示させることが可能です
- 複数表示したグラフは、「png画像」か「gnuplot形式テキスト」で、「コピー」か「保存」できます。
- 画面上のメニューから、グラフのパラメーターをインポートおよびエクスポートできます
- グラフのパラメーターは、次のような形式のCSVファイルです(UTF-8)
- now_hpを負数にすると、読み込み時に内部でmax_hpと同じ値にします
- 「最大耐久」スライダーと「現在耐久」スライダーは連動しており、必ず最大耐久≧現在耐久となります
- グラフはマウスで1マスづつドラッグで動かすことができます
- ウィンドウサイズおよびパラメーターの値はメニューの「編集」以下からリセットできます
- 「右端を平行線表示」にチェックを入れると、右端(オーバーキルによるストッパー発動時の大破率)が横平行線として描画されるようになります
- 画面右のスライドバーで、グラフの細かさや、表示範囲を調節できます
折れ線グラフを描くのに使ったアルゴリズム(6点式の方)は、avaris氏(Twitter : @nc254cntct)が考案したものです。
それを記したC言語のソースコードを元に組み立てたのが当ソフトとなります。
MIT License
- インポート・エクスポートするパラメーター情報に、「ナイーブな実装で計算」するかの情報も追加した
- 「入力中のグラフを表示」していない際に「グラフを全て消去」すると、再度チェックを入れた際にエラーが出る問題を修正した
- 画面右のスクロールバーが一部効いていなかった不具合を修正
- グラフのパラメーターをインポート/エクスポートするメニューを設けた
- 既存のグラフ群と同じ名前のグラフを追加しようとすると警告を表示し、止めるようにした
- 大破率を読み取るためのカーソルを実装した
- UIの使いやすさを改良した
- 「右端を平行線表示」チェックボックスを追加
- 罫線の細かさを表すスライダーの方向が逆だったので修正
- 伸縮率を縦横比固定にしないようにした
- 6点式、およびナイーブ実装の内部ロジックを修正。どちらもより正確になります
- Y軸方向にドラッグできないようにした
- 拡大・縮小表示用のスライダーを新たに設置した
- メニューを導入し、不要なボタンを削った
- グラフの目の細かさをスライダーで調節できるようにした
- ウィンドウをリサイズする際、その縦横の比率が一定になるようにした
- エラーバリデーションを強化
- 冷静に考えて、これは「Ver.2.0.0」を名乗ってもおかしくない出来では……?
- 大破率計算用のロジックとして、「ナイーブ実装」のものも追加した
- 複数のグラフを名前付きで同時に表示できるようにした
- グラフの横軸を見やすいように自動調整する機能を強化した
- スライダーのレスポンスを向上させた
最初のリリース