移動可能範囲 経路探索処理 その4 戦術画面で必要不可欠な移動可能範囲の調べ方
| 移動可能範囲をチェックし終わると、次のような配列の状態になる。 |
| |
 |
| |
| この後、移動可能範囲を視覚的に分かるようにグラフィック表示するわけだが、座標(2,4)のMoveDerection |
| 配列が処理の途中で変わってしまう。この理由について解説する。 |
| |
| 下図は、移動ポイント「2」をもつ座標(4,3)からの移動範囲を調べ終わった直後の状態だ。 |
| このとき、座標(2,4)のMoveDerectionには、「LD」と入っている。 |
| 理由は座標(2,3)の周囲を調べたときの処理結果を格納しているからだ。 |
| |
 |
| |
| 移動可能範囲を探査する処理は、上図でいうと左上から右下へと行われる。 |
| (実際は2次元配列なので、誤解のないようにしてください。戦術マップとの対応上、図示しているだけです |
| 移動ポイント「2」の格納された座標は、(2,3)→(4,3)→(3,4)の順に探査される。 |
| 座標(4,3)のあとは座標(3,4)の周囲を調べることになる。ここでMoveDerection(2,4)の値が変わる。 |
| |
 |
| |
| MoveDerection(2,4)の値が「LD」→「DL」と変わった。 |
| では、同じ座標へ行くにも経路が異なると、どんな問題が生じるだろうか? |
| 別ページで触れるが、ユニットの移動処理はMoveDerectionに格納された値を読み込んでいくことで行って |
| いる。仮に、「RRRURU」なら、右右右上右上という経路で移動する。 |
| |
| 同じ座標へ移動するにせよ、配列に入っていない経路は選択できない。選択のしようがない。 |
| すると、移動可能範囲の探査処理が上右下左の順にチェックされている以上、ある座標への移動の仕方は |
| 決まってくる(現行のプログラムでは、移動の経路がひと通りしか存在しないということです)。 |
| いちいちコンピューターの動きをメモして、遊ぶわけではないにしろ、このままではまずい。 |
| 戦術レベルの思考ルーチンの実装が望まれるが、今後の課題とする。 |
| |
| |
|
|
Copyright (C) シミュレーションゲーム作成工房, All Rights Reserved.