Game A Week 1本目/5日目

敵の動きを実装。相変わらずSine。でもVS石油王と違って、今回からラジアンを使う。
f:id:crowsbedroom:20181011225032g:plain

使いやすいヘルパー関数を作りました。リソースが増えていく。
PlayerやEnemyがGameControllerに死亡メッセージを飛ばすという設計を考えましたが、相互参照になってしまいます。
しかし考えてみると、当たり判定も、キー入力も毎フレーム行われています。
今や毎フレーム処理など当たり前なのです。だから、GameControllerがUpdate()内でPlayerとEnemyの生存状況を確認します。
死亡時の処理が毎フレーム呼ばれるので今一つですが。明日考えます。
GameControllerからいろいろいじるので、PlayerやEnemyの操作はすべてメソッドからできるようにします。
これが関心の分離。カプセル化。これくらいはわかる。
ソースコードGitHubに公開して皆さんにコードレビューしてもらいたいが、GitHubの設定やらわからない。
「後でやる」は良くないので、今作が終わったら調べます。