今回は、増援部隊の到着時間が来たら表示する改修を行う。
1)主な改修内容
A)新規に追加する増援表、部隊別表(どちらもゲーム毎の定数表)から内部処理用の
増援計画、部隊別増援シートにデータを取り込む。
B)分を進めるタイミングで増援部隊の到着時間かどうかを判定し、到着時間であれば
時間シートに到着予定時間を表示する。部隊毎に到着時間がバラバラになる(遅延する)場合は、
下記のように”部隊別参照”と表示し部隊別表(下記D)に例を記載)に到着した部隊略称を表示する。
C)到着時間は、遅延がない場合と遅延がある場合(賽の目で遅延ターンを決める)の2通りある。
遅延がある場合には、乱数を基に賽の目を決めて遅延するターンを決める。
D)アスペルン・エスリングの戦いシナリオ1のように、増援部隊が損失を出す場合には、
乱数を基に賽の目を決めて損失を出す部隊と損失戦力を決める。
損失を出す部隊と損失戦力は部隊別表に下記のように表示する(例えばM列3行目の2)。
部隊名、到着時刻、損失戦力(空白は損失なし)のセットで最大8時刻、最大10部隊まで表示できる。
2)主な変更シートとマクロ
A)変更シート
時間シート = 増援部隊の到着時間を表示する。部隊別表に変化がある場合は、”部隊別参照”と表示する。
部隊別シート = 新規に追加する。部隊毎の到着時間と損失戦力(必要時)を表示する。
増援表、部隊別表 = 新規に追加する。(内容は人が手動で別表からコピーして貼り付ける)
増援計画シート = 新規に追加する。(内部処理の作業用シート)
増援計画2シート = 新規に追加する。(内部処理で遅延する場合の到着時間を記憶する)
部隊別増援シート = 新規に追加する。(内部処理の作業用シート)
部隊別損失シート = 新規に追加する。(内部処理で損失戦力を記憶する)
B)変更マクロ
マクロ5、6(変更) = 処理の最後にマクロ56,57を呼ぶ。
マクロ9(変更) = 処理の最後にマクロ56,57,59を呼ぶ。
マクロ56(新規) = 増援部隊の表示を行う。
マクロ57(新規) = 増援部隊の到着判定を行う。
マクロ58(新規) = 増援部隊の遅延処理を行う。
マクロ59(新規) = 遅延処理のデータを初期化(削除)する。
マクロ60(新規) = 増援部隊がバラバラに到着する場合の表示を行う。
マクロ61(新規) = バラバラに到着する増援部隊と遅延時間を判定する。
マクロ62(新規) = 遅延時間を計算する。
マクロ63(新規) = 部隊が纏まって到着する場合の到着時間を設定する。
マクロ64(新規) = 部隊が2ターンに分かれて到着する場合の到着時間を設定する。
マクロ65(新規) = 損失を出す部隊と戦力を設定する。
3)作成したツール
マクロ付のファイル(Bataille_V1R15.Xlsm)、増援表(Reinforce_V0.xlsx)、部隊別表(RFtroop_V0.xlsx)を
バタイユゲーム情報班のダウンロードページに登録予定。
4)補足
上記のツールで対応できていないゲームシナリオ(現在は2017年までのME版のみ対応)は、以下の通り。
・フリートランドのシナリオ6(ロシア軍の命令伝達、フランス軍のオプションルール)
・アスペルン・エスリングのシナリオ11(フランス軍第Ⅲ軍団の遅延と、その影響を受けるオーストリア軍遅延)
<個人的な感想>
今回の改修は思った以上に大規模になり、改修・確認時間が長くなった。対応するゲームシナリオを
出来るだけ多くしようと思ったのが作業量増加の原因である。増援判定を手作業(サイコロを振る)で
行うのは、ゲーム規模が大きくなるにつれて煩雑になり、また忘れやすいので自動化が必要と思う。
<リンク>