検索結果 7 件

by すずらぎ
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の弾発射に関するコード
返信数: 21
閲覧数: 7156

Re: 敵の弾発射に関するコード

参考まであげていただいて…本当にありがとうございます。

先の方法で敵クラスでも敵管理クラスでも特に弾管理クラスをインクルードすることなく実装ができたので一応質問内容は解決しました。

一度それぞれのクラスが何を必要としていて、逆に何を必要とはしないのかを考え直しつつ制作していこうと思います。
by すずらぎ
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の弾発射に関するコード
返信数: 21
閲覧数: 7156

Re: 敵の弾発射に関するコード

>これは完全に邪推(っていうのか?)だけども...
まさにその通りです。そしてこれにとらわれてたのが悩んでた原因なのかもしれないです。今のコードでは敵クラスが外部とやりとりできないですが、できるようにすれば敵管理クラス等からできますもんね…

とりあえず一旦、敵クラスのコンストラクタで

コード:

class Enemy_1
{
public:
     Enemy_1(std::shared_ptr<IXXX>& rxxx);
}
という感じで試してみます。
by すずらぎ
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の弾発射に関するコード
返信数: 21
閲覧数: 7156

Re: 敵の弾発射に関するコード

質問の仕方が悪かったのですが… 自分が考えていたのが、今回の場合 //インターフェースクラス class IXXX {}; //を継承している弾管理クラス class BulletManager : public IXXX { }; があり、これを使うために敵クラスで class Enemy_1 { protected: IXXX* rxxx; ... public: void update() override; }; void Enemy_1::update() { rxxx->RegisterBullet( bullet ); } という風に考えていたのですが、これだと結局インターフェー...
by すずらぎ
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の弾発射に関するコード
返信数: 21
閲覧数: 7156

Re: 敵の弾発射に関するコード

>「IXXX を継承した BulletManager」の定義が書かれている BulletManager.h をインクルードする必要はない なるほど、「敵」が欲しいのはIXXXのクラス定義なのだからそれを継承しているものについては必要ない(というか教えない方がいい)ということですか。 しかし、実際に実装する場合IXXXのポインタはどこから持ってくるんでしょうか…? IXXX *rXXXX rXXX = new IXXX なんてことは当然純粋仮想関数なのでできないわけですし、かといってIXXXを継承したBulletManagerのポインタを持ってくることなど可能なんでしょうか?(できはするけどそれ...
by すずらぎ
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の弾発射に関するコード
返信数: 21
閲覧数: 7156

Re: 敵の弾発射に関するコード

usaoさん 返信ありがとうございます。 管理クラスについて、敵や弾は将来的にものすごい数になる(かもしれない)のだからまとめないと一つ一つを扱っていくなどできないのではと考えていました。 確かに管理クラスがやっていることは各敵、弾のupdate,drawをfor文で回してるだけですが… で、提案していただいたことについて 流れとしてはclass IXXXを作り、これを弾管理クラスが継承して、敵クラスがメソッドを用いるという感じですよね。この際敵クラス(もしくはAbstEnemyクラス)がIXXXのポインタを必要としますよね。ですがこれを持ってくるには結局どこかで弾管理クラスをインクルードして...
by すずらぎ
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の弾発射に関するコード
返信数: 21
閲覧数: 7156

Re: 敵の弾発射に関するコード

すいません, codeの書き方を間違えてEnemy_1.hの中にEnemy_1.cppが入っています…
by すずらぎ
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵の弾発射に関するコード
返信数: 21
閲覧数: 7156

敵の弾発射に関するコード

はじめて質問させていただきます。C++は半年ほどのまだ初心者です。 現在C++, DxLibで敵が上から落としてくる弾をかわすといったゲームを作っています。そこで敵が弾を打つ際のプログラムについて手間取っております。 とりあえず以下のようなコードで敵が弾を打つのは実装できました。 EnemyManager.h #pragma once #include "Task.h" #include "AbstEnemy.h" #include <memory> #include <vector> #include "BulletManager.h" class EnemyManager : public...

詳細検索ページへ移動する