こころマクロで実現したかったこと

 こころの元データがあれば、あとはコードを書くだけ。前作のExcel火力シミュレーションの反省から、あらかじめ欲しい機能を整理し、それを実現するために、どのような構成にしたらよいかを考えて設計&開発へ。とはいえ、やはり作りながら思い付くことも多く、その辺は臨機応変に作っていくことにしました。


 まず、ワークシート上の関数と配列数式で処理していた計算を、すべてマクロ(VBA)で記述することとしました。処理も速いし、何より融通が利き、メンテナンスもしやすいので。この時点で、完全に一から作り直しと相成りました。
 そして、コロドラを使っていた便利だったことも実現したい。具体的には
①全こころがシミュレーション対象
②「持ってないよ」機能
③レベルやコスト制限の指定
④職業、武器、スキルを選択するだけでシミュレーション
このうち、④は別途、武器とスキルデータが必要となるので後々実装することとして、それが組み込めるような設計にしました。現時点では、職業、スキル、属性を指定するUIに。


 さらに、こういう機能が欲しいな、と思っていた次の機能を実装することに。
⑤系統の指定
⑥必ず使用するこころの指定(レベリング中にメガゴールドマンを付ける場合などに重宝)
⑥組んだこころセットの耐性表示
⑦選んだこころ性能(詳細)表示
⑧特殊スキル(アバン流刀殺法やクレセントムーンの属性複合攻撃)
 特に、ドラゴン系、悪魔系などの「系統」の反映は結果が顕著で面白く、結果の検証もとても楽しかったです。また、⑧の特殊なケース、この辺は、最初にデータの持ち方、処理の仕方をきちんと設計しておかないと、後から追加するが大変なんですよね。この処理の仕方や変数の持ち方を考え、実装するのも楽しかった。


 あ、なんか過去形になってますね。そうなんです。6月中のリリース目指して開発していた「こころマクロ」予定通り完成しました!上記①~⑨、④以外は無事に実装でき、現在、最終検証中でして、明日には公開できると思います。

これが「こころマクロ」の条件入力画面、

リリースに至るまでの道筋はこんな感じ、土日を中心に作製、本当に充実した1ヶ月でした。
‘2021/05/29 コートでダメージ計算、配列のクイックソートによる抽出、こころ枠総当たり
‘2021/05/30 こころ色枠の最適化をロジックで高速化
‘2021/06/05 使用、不使用の指定、コスト制限、レベルコストの指定化
‘2021/06/06 結果シート、こころ色設計、こころ名、集計表示(スコア、コスト、必要レベル、基本効果、効果アップ、耐性は文字列で表示)
‘      結果シートからの不使用の除外指定、入力規則によるTop画面での入力、回復の簡易実装
‘      一次選択こころ数可変、複合武器計算、こころ枠色表示
‘2021/06/09 こころ枠最適化につき、単色枠、2色枠、虹色枠の順にはめるよう変更
‘2021/06/12 こころ一次採択時に、心の色を考慮 該当色枠ごとに5%の重みづけ
‘2021/06/13 コスト制限やレベル制限対応、指定のある時には、低コストを優先するロジック
‘2021/06/14 コスト制限に合わせて、低コストと中コストを適切に優先する(試行錯誤)
‘2021/06/19 2~3個のみの組み合わせ対応、データシートの移植、一本化、データ保有方法見直し
‘2021/06/20 使用こころの採択処理見直し、中コスト、低コストのダメージを新設、レベル制限して選択
‘   特定ダメージ(アバン)の実装、枠数可変処理ルーチンのサブプロシージャ化
‘2021/06/21 こころのステータス等を表示する詳細画面をオートシェイプで実装
‘2021/06/22 詳細画面表示用の画像ダウンロード取り込み機能、詳細画面への表示
‘2021/06/26 更新機能、CSVを開き差分の取り込み、こころ画像のダウンロード取込、範囲式の名前へ反映
‘      詳細画面枠改善、セット結果耐性表示文字列の圧縮表示、詳細画面の全耐性系の表示対応

コメント

タイトルとURLをコピーしました