10.仕上げ



10-a.ゲームクリア

 前章までは理解できましたか?ご自分でプログラムしてみましたか? 前章までの部分をプログラムすると、 ブロックを全部消しても自分がミスするまでゲームが終わりませんよね。 まあ、これで悪いという訳ではないのですが、 やっぱりクリアしたらクリアって事にしたいですよね!
ということで、 ブロックが全部無くなったらゲームクリアにする処理を追加します。
 まずは、ブロックの数を監視する変数 blockcount を作ります。 これは見えているブロックの数を表す様にします。 初期値ではブロック数を入れて、 ブロックが消える度に一ずつ減らして行きます。

var blockcount; // ブロック数 blockcount = 8; // ブロックの数は、最初は8 ・ ・ ・ //------------------------------------------------ // ボールをブロックで跳ね返す //------------------------------------------------ function ballReflect() { speedy = -speedy; // 上下に跳ね返す blockcount = blockcount - 1; // ブロック数を一つ減らす }

 それで、この blockcount を使って、 ブロック数が0になったらゲームクリアになるようにします。

// 全部なくなったらゲームクリア if ( blockcount <= 0 ) { alert( "ゲームクリア!!!" ); return; }

 上のプログラムは「blockcount が0以下になったら」という処理にしていますが、 もちろん「blockcount が0になったら」と書いても実際は問題はありません。
 ただ、予期せぬ理由で、 この変数におかしな値が入っても修復が可能になるように、 私はこういう風に書いています。
 プログラムをいっぱい作っていると、 バグ(プログラムの間違いの事で、 バグがあるとプログラマが予期していない動作をしてしまう)を いっぱい見てきているので、 反射的にこう書いてしまうんですよ…(^_^;

10-b.得点を付けて完成!

 得点は、ブロック数と同じ様な感じで作れます。 すなわち、最初は0にしておいて、 ブロックが消える度に得点を加えて行きます。 ここでは、一つのブロックが消えたら 100点とします。

var score; // 得点 score = 0; // 最初は0点 : : //------------------------------------------------ // ボールをブロックで跳ね返す //------------------------------------------------ function ballReflect() { speedy = -speedy; // 上下に跳ね返す blockcount = blockcount - 1; // ブロック数を一つ減らす score = score + 100; // ブロック一つにつき100点 }

 得点の表示は、 ゲームクリアとゲームオーバーの時にするようにしましょう。

alert( "ゲームクリア!!! 得点=" + score + "点"); : : alert( "ゲームオーバー 得点=" + score + "点" ); // ゲームオーバー

 さあ、これでゲームは完成です!!! ずっとお付き合い下さいました皆様、大変おつかれさまでした。

10-c. アンケート

 本章を含め全体をほぼすべて理解できた方にお願いです(必須ではありません)。 「ゲームの作り方 by BFF」全体について最も当てはまるものを選んで、 「アンケートを送信する」を押してください。
すべて既に知っていました
1週間以内でほぼすべて理解できました
1ヶ月以内でほぼすべて理解できました
1年以内でほぼすべて理解できました
1年以上かかりましたがほぼすべて理解できました
コメント欄:
※コメント欄にはご意見やわかり辛かった部分の指摘等がありましたらお願いします。 (なお質問についてはは掲示板までお願いします)
 ご協力ありがとうございます。

目次へ戻る