2016年09月19日

接近コモン@

ぼくのサイトを見てくれる人の検索ワードやページビュー数を見ると、「敵が追いかけてくるコモン」に興味を持ってくれる人が多いみたいです。
あれは、主人公の足跡をたどってついてくるようにするコモンでした。
でも。ねえ。
やっぱりできれば、最短距離を追いかけてほしいですよね。
というわけで、これはもう、作らねばなりますまい!

やってみて、何日か試行錯誤して、少し形になってきました。
というか、初めて不完全ながらも動いたのでうれしい。
ので、記事にします。
記事にしたら頭の整理と、モチベーション追加注入ができるのです。


考え方としては、主人公を中心とした年輪を書きます。
DBに用意した各マスの距離を格納する場所に、主人公からそのマスへの距離を入れます。
接近してくるキャラは、自分の周囲のマス中でその距離が一番近い方へ移動する、という仕組み。

ぼくがメモした作り方を以下に貼り付けます。

-------------------------------------------------------
(可変DB2枚使う。距離用(初期値は99)と四方判定済フラグ用(初期値は0))

主人公XY取得
基準地=主人公XY
現在判定中の距離=0

「現在判定中の距離」を可変DB1枚目XYに代入する


ループ---------------------
前判定の距離=現在判定中の距離
現在判定中の距離=+1
その距離入力回数=0(初期化)

マップ内から「前の距離」入力済かつフラグなしのマスを探す

あれば、隣接する4方向全てに(必要な場合※)「距離」を入力する。
(入力するたびに「その距離入力回数」=+1)
4方向おえたら2枚目DBの基準地=1にする


なかったら
その距離入力数=0のままならループ中断

ループここまで-----------------

接近キャラの4方向の計測距離を見て、最少の移動方向を求める。
同じ計測値の方向が複数あっても、どれかに決めたらいい
接近キャラ移動


※基準地の4方向に関して
計測済みでないか
マップ外でないか
通行不可でないか
を判定
-------------------------------------------------------

何のことかわかんないですよね。大丈夫です、わかるように書いてないので。

やってみてもなかなかうまくいかなかったので、ぼら猫パズルで学んだ教訓を生かしました。
そう、おかしかったらすぐ可視可!
各マスの距離をマップ上に表示させました。
こんな感じ!

ScreenShot_2016_0918_23_27_24.png

接近してくる犬は数字が一番少ないところに移動するのです。

よく見るといろいろおかしいですよね。
でもシンプルなマップならそれなりに動くんですよ。
画面中央に横一文字に通行不可マスがある場合、上にいる主人公が右に寄れば犬も右に、左に寄れば犬も左に移動し、まわりこんで主人公のところにまで到達しました。
うれしい!

明日以降不具合を減らします。
これが公開できたら、画期的かもなあ。
作ったことある人は多いだろうけど、コモン集にはきっとまだないもんなあ。
などと一人でほくそえんでいます。
ラベル:コモン
posted by じゃ。 at 00:01| Comment(0) | 雑文 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は90日以上新しい記事の投稿がないブログに表示されております。