参考まであげていただいて…本当にありがとうございます。
先の方法で敵クラスでも敵管理クラスでも特に弾管理クラスをインクルードすることなく実装ができたので一応質問内容は解決しました。
一度それぞれのクラスが何を必要としていて、逆に何を必要とはしないのかを考え直しつつ制作していこうと思います。
検索結果 7 件
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 敵の弾発射に関するコード
- 返信数: 21
- 閲覧数: 7156
- 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 ); } という風に考えていたのですが、これだと結局インターフェー...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 敵の弾発射に関するコード
- 返信数: 21
- 閲覧数: 7156
Re: 敵の弾発射に関するコード
>「IXXX を継承した BulletManager」の定義が書かれている BulletManager.h をインクルードする必要はない なるほど、「敵」が欲しいのはIXXXのクラス定義なのだからそれを継承しているものについては必要ない(というか教えない方がいい)ということですか。 しかし、実際に実装する場合IXXXのポインタはどこから持ってくるんでしょうか…? IXXX *rXXXX rXXX = new IXXX なんてことは当然純粋仮想関数なのでできないわけですし、かといってIXXXを継承したBulletManagerのポインタを持ってくることなど可能なんでしょうか?(できはするけどそれ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 敵の弾発射に関するコード
- 返信数: 21
- 閲覧数: 7156
Re: 敵の弾発射に関するコード
usaoさん 返信ありがとうございます。 管理クラスについて、敵や弾は将来的にものすごい数になる(かもしれない)のだからまとめないと一つ一つを扱っていくなどできないのではと考えていました。 確かに管理クラスがやっていることは各敵、弾のupdate,drawをfor文で回してるだけですが… で、提案していただいたことについて 流れとしてはclass IXXXを作り、これを弾管理クラスが継承して、敵クラスがメソッドを用いるという感じですよね。この際敵クラス(もしくはAbstEnemyクラス)がIXXXのポインタを必要としますよね。ですがこれを持ってくるには結局どこかで弾管理クラスをインクルードして...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 敵の弾発射に関するコード
- 返信数: 21
- 閲覧数: 7156
Re: 敵の弾発射に関するコード
すいません, codeの書き方を間違えてEnemy_1.hの中にEnemy_1.cppが入っています…
- 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...