Processing 入門
13.みどりを救え5 (完) リトライ
今回は [ みどりを救え4 スコアとゲームオーバー ] の続きです。
「みどりを救え」ゲームも今回で終了です。
むずかしかったですか、それとも簡単でしたか?
この講座では「作成途中の段階を見せていこう」と思っています。
経験がなくても階段をのぼるように1段ずつ進めば、それなりに作っていけることを感じて欲しかったからです。
いつも遊んでいるようなゲームをいきなり作ろうと思っても「ぜんぜん分からない」と思います。
でも「ゲームの一部分」だけを切り取り、知っている方法で作っていくことはできるはずです。
初めから完全に再現する必要はなく、デフォルメしたものでいいんです。
やらないとスキルは身に付きません。
できることからコツコツと進めましょう。
ゲームの初期化を関数にしよう
今後のために、ゲームを初期化する関数 gameInit ( ) を作ります。
これまで初期化はすべて setup ( ) の中でしていました。
その中からゲームに関するものだけを gameInit ( ) の中に移動します。
これでリトライの処理も簡単にできます。
このタイミングで gameInit ( ) を作りましたが、私がゲームを作るとき
gameInit, gamePlay, gameOver
などは初めに作ってしまいます。
必ず使うものですから…
リトライの機能を入れよう
ゲームオーバー画面でマウスをクリックすると、リトライするようにします。
関数 mousePressed ( ) はクリックしたときに呼ばれます。
setup ( ) や draw ( ) のように Processing で使い方が決められている関数です。
ゲームオーバーの時だけリトライするように、変数 gseq をみて判断します。(116行目)
実行してみましょう。
ゲームオーバー画面でクリックして、リトライすることを確認してください。
リトライの表示をしよう
ここでクリックすればリトライできることをメッセージで知らせます。
「Click to retry!」
こんな感じです。
ただ表示するだけでなく、点滅させます。
注目させたいときによく使う方法です。
拡縮させたりするのも良い手です。
点滅させるために変数 mcnt を用意しました。
そして1フレームごとに加算します。(107行目)
108行目を見てください。
( mcnt % 60 )
これは % を使って割った余りを算出しています。
この計算の余りは 0 から 59 まで、です。
これに条件式で 40 より少ないか判定しています。
つまり 40 より小さいときにメッセージを表示して
40 以上のときは表示しません。
ちなみにパーセントは5のキーあたりにあります。
シフトキーを押しながら入力します。
それでは実行させましょう。
メッセージが点滅したらOKです。
全ソースコード
[ みどりを救えゲーム ソースコード ]
改造しよう
「みどりを救えゲーム」はこれで完成です。
お疲れさまでした。
演出を入れたり、もっと体裁を作ろうとするとすごいボリュームになるので
今回はしませんでした。
この Processing 入門の、初めてのゲームなのでこんな感じかと。
さて、プログラミングできるようになるかはここからが大切です。
他人の作ったプログラムを入力しているだけでは身に付きません。
自分で考えることが必要なんです。
だから、どんどんプログラミングしましょう。
つぎの予定がなければ、今回のプログラムを改造してみてはどうでしょうか。
ちょっと例を考えてみました。
・リトライメッセージを点滅させずに、色が変わるようにする
・「GAME OVER」表示を拡縮させる
・タイトル表示を入れる(ゲームオーバー画面と同じ仕組みで)
・スコアが増えたら、落下速度を少し上げる
・違う色の四角を落下させる(HP回復などの特性を持たせる)
改造の案を自分で考えるのも楽しいです。
チャレンジしてみて下さい。
なお、改造するときはプログラムの名前を別にして(保存して)
行うのがいいかもしれません。
プログラムを改造したらバグ(不具合)が発生して、もとに戻せなくなった…
などよくあることなので。