バタイユゲーム支援ツール強化版改修13

バタイユゲーム支援ツール強化版にベルリン戦役対応の改修を行った。
天候変化の追加と無駄な乱数の発生防止である。

1.天候変化
  ベルリン戦役の天候ルールについて(1)(2)を実現するために、下図のように条件を追加した。
  D,E欄は2つの賽の目、F欄は10進数に変換した値、G欄はA欄の数値部分とF欄の値を結合したもの。
  F欄の値で発生確率が決まる。乱数の値(1から36の範囲)とF欄を比較して天候を決める。
  例)Grossbeerenの場合
    乱数が1から6なら雨(確率6/36)、7から15なら小雨(確率9/36)、
    16から18なら激しい雨(確率3/36)、19から36なら晴(確率18/36)。

2.無駄な乱数の発生防止
  上記改修の動作確認の際に、乱数が思っていたよりも多く変動することに気付いた。
  そこでプログラムを見直して”結果的に使わない乱数”を発生させないようにした。
(1)時刻(分)を進ませる処理
   天候が可変の場合に限り乱数を発生させる。下図矢印のように命令文を移動した。

(2)増援の判定処理  →時刻(分)を進ませる処理から呼ばれる
   遅延区分が0以外の時(増援の時刻が可変になる)に限り乱数を発生させる。
   下図のように条件を追加した。

<個人的な感想>
後から見ると無駄な処理をしている場合がある。
その時は、処理を実現する事が目標で効率は余り気にしていなかったと思う。
処理時間が気になったら調べて改修するしかない。
今更全てのプログラムを見直す気力はないので・・・。