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

今回は、天候に応じた射撃力と命中判定を行う機能を追加する。

1)機能概要

 A)下図のように射撃シートを追加し、天候から求めた補正量を反映した射撃力で命中判定を行う。

 天候により歩兵と砲兵では射撃補正量が違うので、各々の兵科に対して計算・判定する。

 なお、射撃できる騎兵の場合は、歩兵の欄を参照する(小銃という点では同じなので)。

 

 

 

 

 

 

 

 

 

 

 

 

なお、命中判定用に射撃戦結果表も追加する。内容はME版のもの。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)マクロとEXCEL関数

  A)A列とD列は標題と説明で手動作成。

  B)BとC列の2〜15行目までは入力欄で、計算時にプレイヤーが該当する値を入れる。

  C)BとC列の18〜19行目は、上記B)の入力値を基に計算する(EXCEL機能)。

  D)BとC列の20〜21行目は、マクロ(射撃判定に登録)で設定する。マクロの処理概要は、以下の通り。

    ・C)の射撃比、賽の目補正を取り込み、計算用作業領域で作成した命中判定用乱数の値から、

     該当する射撃結果表の内容を求めて、結果を設定する。

    ・隣接補正が1なら、検索する射撃結果表の列は右に1つずれた欄を使う。

    ・命中判定用乱数の値が、35か36(賽の目で65か66)の場合は指揮官の死傷判定を行う。

     この時、計算用作業領域で作成した死傷判定用の乱数を使う。

    ・英国ライフル中隊が1なら、上記の値を31〜36(賽の目で61〜66)に変更する。

3)その他の変更

  ・時間シートの一部レイアウト変更を行った。(時間帯から開始分を横に並べた)

  ・全てのシートに入力欄を除いて保護を設定し、マウスで指定できないようにした。

   ⇒間違って計算式の入っているセルを書き換えた事があり、間違い防止用。

   なお、パスワードはないので、EXCELの書式/シート保護解除で解除できる。

 

 

 

 

 

 

 

 

 

 

 

 

4)作成したツール

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

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

 

<個人的感想>

 レイアウトを一部変更した際に困った事に気付いた。通常ならEXCELはセルを移動しても、そのセルを

参照している式は自動的に移動先に変更される。しかし、VBAの場合にRange(“B7”).Selectなどと

絶対的なセル位置を指定すると、EXCELでセルをB7からA8に移動してもVBAのコードはRange(“B7”)の

ままである。EXCELのセル移動機能とVBAは連動していない・・・。

結局、VBAのプログラムを修正する事になった。VBAに慣れない間は、Range(“B7”)などの指定の方が

分かり易くで良い。しかし、後々のレイアウト一部変更を考えると、基準位置を決めて下記のような

相対的な参照の方が良いと思う。射撃シートの場合、A列にある”射撃側の兵科”の文字を検索して

基準位置の行番号(stdrowf)を求め、その位置からの相対行数で参照している。

 参照例)Cells(stdrowf + i + 2, j + 1)

 

<リンク>

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

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