ページ 11

敵が追ってくるプログラム

Posted: 2009年5月18日(月) 14:10
by チリチリ
敵がプレイヤーを追ってくるようなプログラムは
どのように書けばよいでしょうか?

画面はボンバーマン風のゲームです

Re:敵が追ってくるプログラム

Posted: 2009年5月18日(月) 14:20
by 和金
プレイヤーの位置と敵の位置との差分を取ればいいと思います。

(敵の位置)+(プレイヤーと敵との位置の差分)=(プレイヤーの位置)

なので、プレイヤーを追うことになります。

Re:敵が追ってくるプログラム

Posted: 2009年5月18日(月) 17:55
by MNS
ボンバーマン風ということは、マップがマスで区切られているのでしょうか?
それでかつ障害物があるということですよね?
私は詳しくは知らないのですが、
そういう場合はA*(エースター)アルゴリズムを使用すると良いと思います。

Re:敵が追ってくるプログラム

Posted: 2009年5月19日(火) 00:51
by Justy
 ボンバーマン風で、ただプレイヤーを追うだけなら、MNSさんも書かれている通り
A*などの経路探索を行ってプレイヤーを追うのが一番綺麗かと思います。

 ただし、ゲームがボンバーマンのように壁を破壊して進むことができるのなら、
破壊しないで進めるルートより、破壊できる壁を壊して進んだ方が早いこともあるので、
破壊できる壁の移動コスト値を適切に調整して、破壊してからプレイヤーの方に
向かうようにする必要があるかもしれません。

 でも、そんな鬼のように追っ掛けてくる敵は遊ぶ方も大変なので、
単純にプレイヤーの方に向かってその場その場で壁を適度に避けたり破壊したりしつつ
進むようなものでも十分かもしれませんね。