PACMAN敵移動アルゴリズム

moongiftに掲載されていたPACMANの記事を見たところ
プログラムが公開されていたので試してみた。

http://516.jp/pacman/

いや懐かしいのなんのって、ファミコン版でもプレイしてましたし、
ゲーセンにてアーケード版もやった事のある私にとってはかなり胸熱です。

また面白いのが「LEARN」という項目を進むと
敵移動のアルゴリズムを試す事ができました。

Blinky:最短距離で追いかける。
Pinky:進行方向の数歩先を先回りする。
Inky:進行方向の数歩先とBlinkyを線で結んだ先を目指す。
というのは分かりやすかったのだが、Clydeの動きが良く分からなかった。

半径数マス以内近づくまではBlinkyと同様に最短で追いかけているようだが、
その半径数マス以内に入った途端に遠ざかるような動きをするように見える。

ただ単純に遠ざかっている訳でもなく適当に動いているようにも思えるが
「適当」というアルゴリズムは存在しないので、何か気になって仕方がない。

せっかくソースコードが公開されているので
devasを使って文字列「clyde」を検索してみると
複数のjsファイルから78ヵ所の該当箇所が見つかった。

 

全然わかんねぇ。