[効率化検討]OOBの自動作成(4/E)

つづき

4.プログラムソース

(1)プログラムソースを最後に示す(長いので)。

(2)プログラムの考え方メモ

 (A)ユニット画像は、所定の位置に移動(set_offset)したら、
   表示中の全レイヤーとマージ(merge_visible_layers)する。
   処理中は、マージされた背景図とユニット画像しかない。これは、
   処理の単純化と、他に良い方法が見つからなかった為である。

 (B)ユニットの指揮官は、部隊とは20画素だけ離す。これは、
   見やすくする為である。部隊は1行6列を基本とする。

 (C)ユニットの並びは、指揮官ー砲兵ー騎兵ー歩兵を前提にする。
   歩兵とそれ以外は行を分ける(個人的に見やすくする為)。

 (D)連隊と大隊との関係を密にするため、連隊が指揮官を除いた
   並びで4列以降にあれば、改行する。これは、一般的に1連隊が
   2ケ大隊以上から構成されるので、同じ行に大隊を表示できなくなる
   ことを避けるためである。

 (E)自動的には改行が難しい場合は、ユニット情報のL列目に”cr”の
   文字を入力する。プログラムは、この文字が入っているユニットが
   あれば、直ぐに改行して表示する。
   例)フランス軍第5軍団第18師団のアイルランド軍第3連隊第1大隊

 

<個人的な感想>
python-fu固有の関数(set_offsetなど)はprint文に置き換えて、
Anaconda+JupyterNotebook+Python3の環境下で開発を行った。
ここでエラーを対策しておけば、python-fu固有の関数にデバッグを
集中できるので、効率が良い。
初めからpython-fu環境下で開発していたら、1週間経っても
完成しなかったと感じる・・・。

 

<リンク>

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

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