C++講座課題

渡したゲームと似たようなものを作れ。
ただし、先輩に聞く、講師に聞く、どこかのサイトからコードをコピペするなど、あらゆる手を使っても構わない。
シングルトンにするべきか、グローバル変数にするべきか、vectorを使うべきか、ポインタを持つべきか、pointクラスを使うべきか、コンポジションを使うべきか、妥当性と、わかりやすさをしっかり考えて選択すること。
今回は練習として、GameManagerクラスが他のクラスを持つ形にせよ。
この課題を出した者のみが、私のC++講座後半を受けることができる。
これまでの講座を受講してきた諸君なら、必ず解けるはずだ。
では、また会える日を、楽しみにしている。

ヒント

このプログラムを作るにあたって、私は以下の様なクラスの構成にした。

GameManagerクラス(シングルトン。他のクラスを所持し、管理する)
|- Playerクラス
|- PlayerBulletManagerクラス(PlayerBulletクラスのvectorを所持)
|- EnemyManagerクラス(Enemyクラスのvectorを所持)
|- EnemyBulletManagerクラス(EnemyBulletクラスのvectorを所持)
|- EffectManagerクラス(Effectクラスのvectorを所持)
|- ScoreManagerクラス(スコアを管理するクラス)

・以下はGameManagerクラスとは別に、シングルトンで作った。
Inputクラス(キーの入力を管理するクラス)