Processing 入門
12.みどりを救え4 スコアとゲームオーバー
今回は [ みどりを救え3 当たり判定 ] の続きです。
プログラムにコメントを入れることは大切なことです。
しかしまた、コメントを少なくするプログラミングも必要です。
変数や関数の名前で、どんな役割をもっているのか分かるようにしたり
プログラムの書き方にルール(パターン)を作ることにより
あとで見ても処理の流れが分かりやすくするのも良い方法です。
スコアを表示しよう
スコアの表示をしましょう。
ついでに HP(体力)の表示もします。
スコア表示用の関数 scoreDisp ( ) を追加します。
スコアの加算は、当たり判定の中で行います。(74-76行目)
みどりと当たったときだけ得点にするため、色の判定を行います。
テキスト表示は初めてですが、むずかしい点はないですね。
text ( “表示したい文字列”, x座標, y座標 );
文字列と変数を+でつなぐことができるので簡単です。
実行してみましょう。
みどりと当たったときだけ得点するか確認してください。
リスクあるゲームにしよう
リスクとは、ある行動をすること(しないこと)で発生する危険のことです。
私がゲーム(パズルを除く)を作る時に、一番注意する点はリスクの部分です。
これによってゲームの面白さが違います。
このゲームにもリスクを入れましょう。
まず、赤い四角に接触するとHPを減らすようにします。
まぁ、一般的なルールです。
次にみどりの四角を取りそこなった場合も(画面外へ出てしまう)
HPを減らすようにします。
これでかなりゲームの感じが変わります。
20行目、HP = 10 としました。
58行目は、オブジェクトが画面外へでたか判断している所です。
この中にみどりであればHPを減らす処理をいれます。
hitCheck ( ) では当たり判定の中に、みどりでないとき(つまり赤)
HPを減らすようにします。
実行してみましょう。
HPの数が、赤と当たったとき、みどりが画面外へ出たとき減るか
確認してください。
ゲームオーバーを表示しよう
HPが0になったら、ゲームオーバーを表示させようと思います。
しかしその前に、ゲームの流れ(処理の流れ)を管理するための
仕組みを作ります。
変数 gseq を用意しました。
gseq == 0 のとき、プレイ中
gseq == 1 のとき、ゲームオーバー状態
というようにします。
28行目 else if とありますが、このように条件文をつなげることもできます。
関数 draw ( ) の内容のほとんどを gamePlay ( ) に移します。
そして、プレイ中はこの gamePlay ( ) を動かします。
ゲームオーバー中は gameOver ( ) を呼び出します。
この中には表示系の関数のみ入れます。
そうすれば画面の止まった状態になるからです。
実行してHPが0以下になったとき、画面が止まるか確認しましょう。
これで準備はできました。
ゲームオーバーのテキストを表示させます。
実行してみましょう。