悩み相談 悩みウェブ

悩みウェブ -悩み相談コミュニティ-

全カテゴリから検索 このカテゴリ以下で検索
恋愛の悩み(18歳以上)/ 恋愛の悩み(17歳以下)/ 性の悩み/ Hの悩み/ 妊娠の悩み/ 結婚の悩み/ ダイエットの悩み/ 身体・美容の悩み
ファッションの悩み/ 病気の悩み/ 家庭の悩み/ 人間関係の悩み/ 心の悩み/ 夫婦の悩み/ 育児の悩み/ 家事の悩み/ 料理の悩み
仕事の悩み/ 学校の悩み/ 勉強の悩み/ 将来の悩み/ お金の悩み/ ペットの相談/ パソコンの悩みNEW/ その他の悩み/ 疑問・質問/
アンケート/ テレビの話題/ 芸能人の話題/ 指名して相談
TOP > 疑問・質問 > 敵を捕捉するために

疑問・質問

投稿情報 内容
NO.146880 敵を捕捉するために
のりたま大好きさん(男性/42歳)
2011/08/21 04:24:07
こんばんは!ゲームで擬似プログラムを作って遊んでおります。それで、思うように行かないことがタイトルに書いた、敵を捕捉する行動です。

敵と自機の距離は100メートル。敵は移動せずこちらの自機の位置に向き合った時、アサルトガンで攻撃して来ます。
右から左までの視界の角度は90度になります。この視界内に弾丸があるなら、前にジャンプさせて弾からの回避及び敵との間合いの短縮をはかります。打球でライナーというのがありますが、ライナーみたいにジャンプして回避。しかし、これが成功しても敵のアサルトガンに被弾した瞬間、自機は転んでしまいます。

ここからが大変です。状況が一気に変わったため組んだようには動かない。1敵は正面にいない。2弾は視界内に無い。3障害は無い。4戦闘場所の壁も無い。では、敵を捕捉すべく動作命令として旋回させます。


旋回させて敵を発見した場合なら、そこで旋回を停止させる必要がありますが、まだ旋回から敵を発見したことがありません。だから自機は旋回しまくりです。

敵を発見したら旋回を停止、発見できないなら前進と、分岐させる条件を変更して動かすと、今度は歩きます、どこまでも。とは言え、戦闘場所の限界まで歩きます。

すると4番の条件に100メートル先に壁がある場合左旋回する。壁がなければ前進するようにしてます。

結局自機は、敵を見つけることなく戦闘場所を歩き、壁を見つけると旋回して向きを変え、また歩きます。壁に当たらないように自機は歩いてます。


やってて思ったのですが、もしかしたら敵を捕捉して攻撃するなんてとても難しくて手に負えない処理なんじゃないかと思いました。

ロボットを操作して敵のロボットを倒すゲームをやりながら敵のロボットの動きを観察してみました。敵のロボットは私の操作しているロボットを発見して近寄って来ました。ところが、敵のロボットは格闘タイプなために至近距離まで来ないと攻撃が当たりません。私は垣根の前に立ってるだけですが、敵は垣根をどうしても越えられない。回り込むとか垣根を破壊するなどの処理は無いように見えました。だから、こちらからの一方的な攻撃で倒せます。

どこにいるかわからない敵を捕捉して攻撃する。これだけのことができません。プログラムって難しいです。読んだ方はどう思われましたか?長くてすみません。

投稿を締め切りました。




投稿情報 内容
NO.717934
のりたま大好きさん(男性/42歳)
2011/08/22 23:47:45
返信遅くなりました。OS上で動かすタイプのものでは無いので疑似プログラムと言ったのですがゲームとかされますか?
カルネージハートと言うゲームです。
質問とか説明とか下手ですみません。
ご迷惑おかけしました。

投稿情報 内容
NO.717602
ぐったり侍さん(男性/29歳)
2011/08/21 15:44:04
その擬似プログラムがどういうソフトなのかわからないので判断できませんが、
あらかじめ用意されたものを並べるだけ、という点から考えると、
それはもう
「できないものはできない」
というしかないような…

一から組んでるんじゃなくて、与えられたものを組み立てるんなら、どうしても与えられたパーツ以上のことはできないんじゃないかと

投稿情報 内容
NO.717516
のりたま→ぐったり侍さんさん(男性/42歳)
2011/08/21 07:49:16
早速の返信ありがとうございます。

「擬似プログラム」とはゲームソフトです。メーカーで、プログラムの楽しさを一般にも知ってもらう目的で作ったと昔雑誌で知りました。

だから、敵を捕捉するとはどうやって捕捉するのか、一つ一つの手順を組み合わせて目的を果たすようなもので、ルーチンのようなものが欲しかったとメーカーには伝えたことがあります。

手本とまでは言えませんが、サンプルのようなものが欲しかったです。考え方ががわからない。


敵が目の前にいれば格闘攻撃を命令すれば倒せます。


敵は格闘攻撃のみで近寄って来る場合はこちらのアサルトガンで一方的に攻撃して倒せます。


問題は遠距離で攻撃され被弾して転がって立ち上がった後、もうどうしようもありません。可能性を考えるといくらでもありそうで。


遠くにいる敵に格闘攻撃しても当たりません。近寄る必要があります。まあ、射程を伸ばせば当たらないことも無いのですが、更に遠距離の敵になったら勝ち目が無いです。


行動も思考も条件分岐もアイコンのようなものを並べるだけなのですが、理屈が通らない部分には何も流れません。流れないとは命令の処理をされない。


条件分岐の使い方が今一つ。敵がいれば攻撃しますが、いない時は次も条件分岐にします。障害物があるか無いかで分岐させます。障害物を回避するのが面倒なので攻撃を命令するように組みましたが、何も反応しませんでした。かなり色々できるのかと思いつきで組んだのですが、障害物の攻撃は今のところ組めません。

戦闘場所の広さが決まっているためどうしても壁がある場合旋回して移動させますが、ジャンプしながら旋回して着地する行動は、先に進まないと手に入りません。

すへてを並べてからではないと間違いがどこにあるかとか、無駄な処理があるとかが分かりません。

まとまりません。すみません。

投稿情報 内容
NO.717508
ぐったり侍さん(男性/29歳)
2011/08/21 05:59:23
言語、使用している環境、条件の設定しだいだと思います。

「敵を捕捉する」「補足する」「攻撃する」というのがすでにルーチンとして出来上がっているなら、
条件分岐をどうするかってところでしょうし、
一から作っているとなれば、言語、アルゴリズムをどう構築してるかってところから考える必要があるでしょう。

「擬似プログラム」というのは何かフリーのツールか何かでしょうか?





Copyright(C)悩みウェブ. All Rights Reserved.