てくね のプレビュー
警告: あなたはこのページの古い版を編集しています。もしこの文章を保存すると、この版以降に追加された全ての変更が無効になってしまいます。
以下のプレビューを確認して、よければページ下部のボタンで更新してください。
ここに書いてあるのは全部推測で、事実とは異なる場合があります
鵜呑みにしないでください
ユニットの移動ルーチン(目的地指令)
一言でまとめると
最短経路を索敵順で移動
1 指定したユニットと目的地の座標を取得
2 目的地の座標からその座標へ、何HEX離れているかを表した距離MAPを作成
距離MAPの例
※目的地から目的地への距離は0HEX
3 ユニットの座標の距離を距離MAPから取得
ユニットから目的地への距離は2HEX
4 索敵順に周囲1HEXの距離を全て取得
右上:距離3
右 :距離3
右下:距離2
左下:距離1
左 :距離2
左上:距離3
5 移動可能かつ、距離が一番近い(複数ある場合は取得した順、つまり索敵順)座標に移動する
このとき、距離が今よりも遠くなる場合は移動しない(同じ距離の場合は移動する)
優先度一覧
左下:距離1
右下:距離2
左 :距離2
―――移動しない―――
右上:距離3
右 :距離3
左上:距離3
左下が移動可能なら左下に
左下が移動不可なら右下に
右下が移動不可なら左に
左が移動不可なら移動しない
左下が移動可能なので左下に移動
6 目的地に到着するか、移動力分の移動をするまで4~5を繰り返す
おまけ 目的地が移動不可な場合
ユニットから目的地への距離1
右上:距離2
右 :距離2
右下:距離2
左下:距離1
左 :距離0
左上:距離1
優先度一覧
左 :距離0
左下:距離1
左上:距離1
―――移動しない―――
右上:距離2
右 :距離2
右下:距離2
左が移動不可なので左下に移動
ユニットから目的地への距離1
右上:距離1
右 :距離2
右下:距離2
左下:距離2
左 :距離1
左上:距離0
優先度一覧
左上:距離0
右上:距離1
左 :距離1
―――移動しない―――
右 :距離2
右下:距離2
左下:距離2
左上が移動不可なので右上に移動
以下ループ
上記の通り移動しなかった場合
対象ユニット、対象座標、目標座標、そのときの状況を書いてください
- 関係あるかわかりませんが、18,3には陸地、18,2には浅瀬がありました。索敵順通りなら19,2を経由すると思っていたのですが、誤解などありましたら教えていただきたいです。 -- 葉月? 2013-02-10 (日) 11:49:27
- 〆【非公式】初心者~中級者指導用の『僕は神山満月ちゃん!!』(〆【非公式】初心者~中級者指導用:スパイダー工作艇)が(19, 1)から(18, 2),(19, 3)の順に移動(自動操縦)し到着しました。 対象座標が19,1で目標座標が19,3 -- 葉月? 2013-02-10 (日) 11:42:17
- 前言ってたやつですねwwすげー!www -- なちゅらる? 2013-02-10 (日) 07:19:16
参照回数 531