衝突判定とエンディングを入れてみよう |
【実際のシューティングゲームに衝突判定処理(とエンディング)を入れてみよう】
《追加された箇所①〜⑪の,おおまかな解説》
======メインループが始まる前=====================================
■①で,自機のライフを管理する変数 myLife を宣言します。
■②で,Windowsが起動してからのミリ秒を記録しておく変数 time を宣言します。
======メインループの中で繰り返し実行される処理============================
自機や敵機,各種の弾の描画・移動などが終わった後,次の処理を行う。
■③, ④, ⑤で衝突判定をしています。
■⑥で,自機と敵機のライフ表示と経過時間の表示を行っています。
ScreenFlip()命令で描写内容を表画面に転写した後,次の処理を行う。
■⑦で,自機または敵機のライフがゼロになったら,break 文を実行してメインループを抜けます。
======メインループが終わった後====================================
メインループを抜けた後,次の処理を行います。
■⑧で,描画先を表画面にします。
■⑨で,プレイヤーが勝った場合にエンディングメッセージ "You Win!!" を画面中央に表示しています(勝利エンディング)。
■⑩で,プレイヤーが負けた場合にエンディングメッセージ "You Lose!!" を画面中央に表示しています(敗北エンディング)。
■⑪で,エスケープキーが押されたら,エンディング画面を抜けて,プログラムを終了するようにしています。
collision.cpp