疑問・質問
NO.146880
●敵を捕捉するために
2011/08/21 04:24:07
・のりたま大好きさん
男性 42歳
返信を締め切りました
悩み:
こんばんは!ゲームで擬似プログラムを作って遊んでおります。それで、思うように行かないことがタイトルに書いた、敵を捕捉する行動です。
敵と自機の距離は100メートル。敵は移動せずこちらの自機の位置に向き合った時、アサルトガンで攻撃して来ます。
右から左までの視界の角度は90度になります。この視界内に弾丸があるなら、前にジャンプさせて弾からの回避及び敵との間合いの短縮をはかります。打球でライナーというのがありますが、ライナーみたいにジャンプして回避。しかし、これが成功しても敵のアサルトガンに被弾した瞬間、自機は転んでしまいます。
ここからが大変です。状況が一気に変わったため組んだようには動かない。1敵は正面にいない。2弾は視界内に無い。3障害は無い。4戦闘場所の壁も無い。では、敵を捕捉すべく動作命令として旋回させます。
旋回させて敵を発見した場合なら、そこで旋回を停止させる必要がありますが、まだ旋回から敵を発見したことがありません。だから自機は旋回しまくりです。
敵を発見したら旋回を停止、発見できないなら前進と、分岐させる条件を変更して動かすと、今度は歩きます、どこまでも。とは言え、戦闘場所の限界まで歩きます。
すると4番の条件に100メートル先に壁がある場合左旋回する。壁がなければ前進するようにしてます。
結局自機は、敵を見つけることなく戦闘場所を歩き、壁を見つけると旋回して向きを変え、また歩きます。壁に当たらないように自機は歩いてます。
やってて思ったのですが、もしかしたら敵を捕捉して攻撃するなんてとても難しくて手に負えない処理なんじゃないかと思いました。
ロボットを操作して敵のロボットを倒すゲームをやりながら敵のロボットの動きを観察してみました。敵のロボットは私の操作しているロボットを発見して近寄って来ました。ところが、敵のロボットは格闘タイプなために至近距離まで来ないと攻撃が当たりません。私は垣根の前に立ってるだけですが、敵は垣根をどうしても越えられない。回り込むとか垣根を破壊するなどの処理は無いように見えました。だから、こちらからの一方的な攻撃で倒せます。
どこにいるかわからない敵を捕捉して攻撃する。これだけのことができません。プログラムって難しいです。読んだ方はどう思われましたか?長くてすみません。
返信を締め切りました
●返信一覧
┗のりたま大好きさん
2011/08/22 23:47:45
男性 42歳
┗ぐったり侍さん
2011/08/21 15:44:04
男性 29歳
┗のりたま→ぐったり侍さんさん
2011/08/21 07:49:16
男性 42歳
┗ぐったり侍さん
2011/08/21 05:59:23
男性 29歳

■疑問・質問
■トップ
(C)悩みウェブ