バタイユゲーム支援ツール(6)

 今回は、時刻と賽の目で天候が決まる場合の天候設定機能を追加する。

1)機能概要

 A)下図のように天候変化シートを追加し、乱数(*1)を基にして天候を決める。

  (*1)サイコロ2ヶに相当する1〜36、1ヶに相当する1〜6を使い分ける。

 B)下図のように天候シートのD列20、26〜28行目(色塗り部分)を変更して、予め決めておいた

  数値ならば、天候変化シートの可変データを参照する(IF文を使ったEXCEL機能)。

  89=LOSの最大HEX、 79=泥濘の移動力低下

2)マクロとEXCEL関数

  A)天候変化シートのA列からH列は、各ゲームで指定された賽の目を参照して作った定数(手動作成)。

  B)I列からL列の1,2行目は次の内容で、可変になる天候を決める(EXCEL機能、EXCEL関数)。

    ・1行目は標題で手動作成。

    ・J2は時間変化シートから参照した天候データの数値。

    ・K2は乱数を参照(1〜36)。

    ・L2はJ2×100+K2で計算した検索キー。

    ・I2はL2の検索キーでG列を検索して求めたC列の天候。

  C)J列からL列の4〜29行目は次の内容で、LOSの最大を決める(EXCEL機能、EXCEL関数)。

    用途は、アウエルシュタットの霧の場合のLOSを決める為のもの。

    ・4行目は標題で手動作成。

    ・K5は時刻変化シートの現在時刻(時)を参照。

    ・L5はK5を検索キーとしてK列を検索し、該当するL列の内容を設定。

    ・K列とL列の6〜29行目は定数で99(無限と定義した値)。

     但し、可変部分は乱数(1〜6)にゲームで指定した値を加算したLOS。(7〜9時)

  D)N列からQ列の10〜12行目は次の内容で、雪の天候を決める(EXCEL関数、マクロ)。

    用途は、アイラウの天候を決める為のもの。

    ・10,11行目は標題で手動作成。

    ・O2は乱数を参照(1〜6)。

    ・N2、P2、Q2はマクロ4で設定する。マクロ4の処理概要は、以下の通り。

     前回の天候、現在時刻とO2の値により今回の天候を決める。

       前回が晴(1か2)で現在時刻が13時より前なら、O2-1の値を今回の天候とする。

       前回が晴(1か2)で現在時刻が13時以後なら、O2-3の値を今回の天候とする。

       前回が晴(1か2)以外なら、O2+1の値を今回の天候とする。

       上記で計算した天候を1〜6に補正し(1未満なら1、6を超えたら6)、天候を決める。

       1か2なら晴、3〜5は雪、6は吹雪とする。

  E)J列からO列の31〜44行目は次の内容で、雷雨の発生場所を決める(EXCEL関数)。

    用途は、リニーの雷雨の発生場所を決める為のもの。

    ・L31とN31以外は定数で手動作成。

    ・L31は乱数を参照(1〜36)。

    ・N31はL31を検索キーとしてN列を検索し、該当するK列の内容を設定。

  F)J列からP列の48〜56行目は次の内容で、泥濘による移動力の低下を決める(EXCEL関数)。

    用途は、ヴォーシャンの9:00から11:00までの状態を決める為のもの。天候の数値を参照して

    (可変7なら7、可変8なら8)、このデータを使うかG)のデータを使うか決める。

    ・K48、N48、O48、P48以外は定数で手動作成。

    ・K48は乱数を参照(1〜36)。

    ・N48はK48を検索キーとしてM列を検索し、該当するN列の内容を設定。O48、P48も同様。

  G)J列からP列の59〜67行目は上記F)と同様に作る。

3)作成したツール

  マクロ付のファイル(Weather3.Xlsm)はWord Pressに登録できないので、バタイユゲーム

 情報班のダウンロードページに登録予定。

 

<個人的感想>

 今回は乱数を使って色々と検索したが、これはEXCELを使うメリットである。また、雪の判定の

ように前回値を記憶する場合にはVBAによるプログラムが必要になる。EXCEL、マクロ、VBAを

使うと色々な事ができるので便利である。

 

<リンク>

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

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