したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

妄想企画:ぼくのかんがえたさいきょうのろーどす

4名無しさん:2020/02/18(火) 18:48:12
(001-002)
いちばん簡単な例として (7,7)スタート キャラサイズ1*1 移動力2 全マス草原(コスト1) 他キャラなし を考える

(01)(7,7)に移動判定必要フラグを立て 残移動力2を登録

(02)(0,0)〜(F,0),(0,1)〜(F,1)……の順に全マスをスキャン

(03)移動判定必要フラグがあるマス(最初は(7,7)のみ)を見つけたら左右前後の移動可否を判定
 移動コストは MAX(元マスのコスト,次マスのコスト) にしようと思う
 (現状の実装ではたぶん次マスのコストしか見てない)
 (6,7),(8,7),(7,6),(7,8) 全て移動可能 前マスは(7,7)のみ 残移動力1を登録し 移動判定必要フラグを立てる

(04)(7,7)の移動判定必要フラグを移動判定済みフラグに上書き

(05)(02)と同

(06)今度は (6,7),(8,7),(7,6),(7,8) 4マスが見つかる
 (6,7) について(03)同様の処理をすると (5,7),(7,7),(6,6),(6,8) が次マス(残移動力0)になりそうだが
 (7,7)は元マスなので除外(出戻り禁止)
 (7,6) については (6,6),(8,6),(7,5) が次マスになりそうだが(6,6)は(6,7)の次マスの1つとして既出
 この(6,6)のように 各マスには最大4の元マスがありえる 元マスごとに残移動力を登録する必要がある
 残移動力の大きいもの(同じなら先に見つけた方)が優先だが 敵に先に動かれたり 味方が渋滞起こしたりで
 最短とは別経路が必要になる場面があるので 非優先の情報も残しておく
 現状実装のようなトリッキーな回り道をされるのはイラっとするだけだが
 前右で行こうとして塞がれたのに 右前で行ってくれないのも 頭悪すぎなんで

(07)(04)と同

(08)(02)と同

(09)8マス見つかるが 全て残移動力0のため もう移動可能なマスはない
 移動判定必要フラグを移動判定済みフラグに上書きするのみ

(10)最終的に移動判定済みフラグのついたマスが 移動可能なマスの全てである

(ループ禁止は考え中 元マスの元マスの……って辿って全部禁止で大丈夫か?)


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板