シューティングゲームで学習した内容の応用例を確認してみよう

【キャラクタが画面の外に出て行くのを防ごう】
・今までのプログラムだと矢印キーを押しっぱなしにするとキャラクタが画面の外に出て
 行ってしまう 。キャラクタが画面の外に出ていかないようにするのに,if-else文を利用
 できる。

・下図は,画面の上下左右いっぱいに自機のグラフィックが寄った状態を表している。
 グラフィックを描写するときには,画像の左上の座標を指定することを思い出そう。
 つまり,下図の赤い点の座標(図では?となっている)を考えると良い。




まず,画面の左右に自機がはみ出ないようにしてみよう。考え方を下図に示す。
horizontal_limit

この処理を実際に組み込んだプログラムを以下に示す。

ifelse.cpp
ifelse.gif

【解説】
 ・薄緑色の部分がgraphic01.cppに手を加えて書き換えた部分である。図中の説明を参照すること。

 


【自習課題】「画面の上下にも自機が出ないようにしよう」

 上の ifelse.cpp は,x方向(横方向)のみチェックをして自機のグラフィックが画面の左右の外側へはみ出
ないようにするために if-else文を使った。同様の考え方に従って,y方向のチェックを行うように ifelse.cpp
を改良せよ。ヒントを下図に示す。
vertical_limit