初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Processing 入門

12.みどりを救え4 スコアとゲームオーバー

 

今回は [ みどりを救え3 当たり判定 ] の続きです。

プログラムにコメントを入れることは大切なことです。
しかしまた、コメントを少なくするプログラミングも必要です。
変数や関数の名前で、どんな役割をもっているのか分かるようにしたり
プログラムの書き方にルール(パターン)を作ることにより
あとで見ても処理の流れが分かりやすくするのも良い方法です。

 

 

スコアを表示しよう

スコアの表示をしましょう。
ついでに HP(体力)の表示もします。
スコア表示用の関数 scoreDisp () を追加します。

 

スコアの表示をする

 

スコアの加算は、当たり判定の中で行います。(74-76行目)
みどりと接触した時だけ得点とするので、色の判定を行います。

テキスト表示は初めてですが、むずかしい点はないですね。
text ( "表示したい文字列", 表示x座標, y座標 );
となっています。
文字列と変数をでつなぐことができるので簡単です。

 

 

実行してみましょう。
自機とみどりが接触したときだけ得点するか確認してください。

 

画面に文字を表示する方法

 

 

リスクあるゲームにしよう

リスクとは、ある行動をすること(しないこと)で発生する危険のことです。
私がゲーム(パズルを除く)を作る時に、一番ポイントを置くのはリスクの部分です。
これによってゲームの面白さが違います。

このゲームにもリスクを入れましょう。
まず、赤い四角に接触するとHPを減らすようにします。
まぁ、一般的なルールです。
次にみどりの四角を取りそこなった場合も(画面外へ出てしまう)
HPを減らすようにします。
これでかなりゲームの感じが変わります。

 

ゲームの中のリスクについて考える

 

20行目、HP = 10 としました。
58行目は、オブジェクトが画面外へでたか判断している所です。
この中にみどりであればHPを減らす処理をいれます。

hitCheck () では当たり判定の中に、みどりでないとき(つまり赤)
HPを減らすようにします。

 

 

実行してみましょう。
HPの数が、赤と当たったとき、みどりが画面外へ出たとき減るか
確認してください。

 

HPの表示

 

 

ゲームオーバーを表示しよう

HPが0になったら、ゲームオーバーを表示させようと思います。
しかしその前に、ゲームの流れ(処理の流れ)を管理できるように
仕組みを作ります。

変数 gseq を用意しました。
gseq == 0 のとき、プレイ中
gseq == 1 のとき、ゲームオーバー状態

というようにします。
28行目、else if とありますが、このように条件文をつなげることもできます。

 

ゲームオーバーのためにプログラムの構成を変更する

 

関数 draw () の内容は、ほぼ gamePlay () に移します。
プレイ中はこの gamePlay () が動くようにすれば良いのです。

ゲームオーバー状態では gameOver () を呼び出します。
この中には表示系の関数だけを入れます
そうすれば画面が止まった状態になるからです。
実行してHPが0になったとき、画面が止まるか確認しましょう。

 

 

これで準備はできました。
ゲームオーバーのテキストを表示させます。

 

ゲームオーバーを表示させる

 

 

実行してみましょう。

 

ゲーム画面でのゲームオーバー