乱数の再現性

以前に”乱数への間違った思い込み”で対策をしたつもりであったが、
ゲームを初期化する他にも対策が必要な事が分かった。
後の為に追加対策を以下にメモしておく。

1.背景
  Nightfighter Aceをプレイしている時に天候の設定が偏っている事に気付いた。
  下図の枠内のように10%の確率で発生するsocked inが多発する。
  しかも、1日1回のプレイ開始時に必ず発生する。

2.理由
  EXCELファイルを開いた時を開始点として乱数が発生するので、
  ファイルを開くたびに同じ乱数の流れになる為。

3.対策
  EXCELファイルを開いた時に、その日の日付と時刻を基にして
  一定数回の乱数を発生させておく。→プログラムが使うときには毎回違う乱数の流れになる。
  VBAのプログラムは下図のようにThis Workbookに追加する。

4.参考資料
  下記のWEBページにお世話になりました。ありがとうございます。
 ・【VBA】ブックを開いた時にマクロを自動実行する

<個人的な感想>
Nightfighter Aceのような物語のあるゲームでは、乱数の扱いを
良く考える必要があると改めて実感した。