inemaru様、管理人様 添削ありがとうございました。
一度に御二方の返信を行なうのをお許しください。
>軽くチェックしましたが”メモリリークしています”
確認したところdeleteを忘れていました。ありがとうございます。
今回はブロックの数を10個に固定したのですが、静的配列(インスタンス)の引数付きのコンストラクタの呼び方が分からなかったのと、
この数はのちのち変わるであろうと考えたので動的確保(New)を使ったのですが、どんな場合でも動的確保を使わず、
場合に応じて静的確保も使った方が良いのでしょうか?
>C++のクラスで設計しているようですが、考え方がオブジェクト指向になっていません。
管理人様にご指摘いただき、ゲーム設計の部分の説明を一通りよんだのですが、明らかに習得不足かつ勘違いをしていました。
この失敗を2度としないように正しい設計の定着に努めます。
>VisualStudio2015でコンパイルしてください。
誠に初歩的なことで申し上げにくいのですが...
今まではVisual C++ 2008 Express を使って設計、コンパイル等を行なっていました。
というのもVisual studio 2015 Communityをダウンロードしてやってみたものの、どのようなプログラムでも次のような
エラーがでてビルドができませんでした....(Windows 7です)
コード:
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
警告 D4024 unrecognized source file type '/', object file assumed
警告 LNK4001 オブジェクト ファイルが指定されていません。ライブラリを使用します。
警告 LNK4068 /MACHINE の指定がありません。X86 を既定とします。
エラー LNK1561 エントリー ポイントを定義しなければなりません。
多少調べて解決策を探したものの、よく分からなくなってしまいVC2008 Expressのほうはビルドが出来たので、
未熟な私はこちらの方だけを使っていました....
なのでVS2015でのコンパイルが現在不可能です。申し訳ありません。
サンプルプログラムと管理人様のアドバイスを少しばかり拝見させてもらったところ
クラスの中に・初期化処理 ・更新(計算) ・描画 ・終了処理の4つをいれるということは分かりました。
しかし、インターフェース以下の部分がさっぱりです...
Taskという純粋仮想関数を持った抽象クラスをPlayerが継承するときにupdateとdrawを実装する(オーバーライドする)
と言うことは理解したつもりなのですが...
GameMgrクラスの中に入っている
コード:
std::list<Bullet*> _bulletList;
はどういった意味なのでしょうか..?
その他にも Singletonクラスの意味、使い方など分からない点があり、
もともとインターフェースやテンプレートをきっちり理解していないという己の無知さをあらためて感じさせられました。
きちんと勉強してこようと思います。すこしお時間をいただければなと思います。