[効率化検討]VASSALモジュールから基本情報を作成2

既存のVASSALモジュールであるライプツィヒの戦いから
基本情報を作成しようとしたら、エラーが生じた。原因は、
指揮官、砲兵、騎兵、歩兵のどれでもないユニットがある為である。
具体的には、工兵(オーストリア軍第2軍団に含まれる)が該当する。

後の為に、対策をメモしておく。

1.原因

(1)工兵のXML文の構造が、指揮官、砲兵、騎兵、歩兵と違う。
  下記のようにデータの有無が違う。砲兵に近いが、裏画像がないので、その部分に違いが生じる。

 諸元データ戦力裏画像備考
工兵なしありなし 
歩兵ありありあり/なし軽歩兵は裏画像あり
騎兵ありありあり/なし軽騎兵は裏画像あり
砲兵なしありあり 
指揮官ありなしなし 

(補足)
  舟橋中隊も、指揮官、砲兵、騎兵、歩兵と違う。しかし、データの有無が砲兵と同じなので、
  砲兵として正常に読み込まれる。裏画像に舟橋を指定した為で、もし指定しなければ、
  工兵と同じにエラーとなった。

2.対策

(1)ユニットの種別判定では、砲兵と同じになる。そこで、砲兵の処理内で扱う。

(2)砲兵の検索で見つからない場合の処理を追加する。

(3)上記(2)の場合に、工兵用の検索を行ない、データを取得する。

(4)ユニット種別として、5pioを工兵用に追加する。
  変更前(下図の左側)と変更後(下図の右側)のプログラムの違いを以下に示す。

 (A)初期設定

 (B)砲兵処理

対策版のプログラムは公開しない。理由は、一時的にしか使わない為である。
ユニット種別を増やすと、他のプログラムも改修する必要がある。
余り使わないユニットの為に、そこまでする必要はないと考えた。
ユニット基本情報を作成した後は、ユニット種別を砲兵に変えて、裏画像を指定する。
これは、舟橋中隊と同じように扱うようにする為である。

 

<個人的な感想>
Anaconda+JupyterNotebookの開発環境が良いので、プログラムの
どこでエラーが生じたか、その時のデータ内容は何かが直ぐに分かる。
その為、改修がしやすい。

 

<リンク>

ブログのトップページは、こちら

バタイユゲーム情報班のホームページは、こちら