前回までの記事についてこれていれば、簡単だと思います。
記事をまとめたページはこちら。
今回はプログラムの主役と言っても良い「変数」をやっと使います!
0.目次
- 変数の作成
- 初期ライフの設定
- ダメージを受けたときにライフを減らす
1.変数の作成
前回までの記事で敵を登場させましたが、ネコが痛がるだけで何度当たっても、ゲームオーバーにはなりません。ですので、3回当たったらゲームオーバーにしようと思います。
前回、ネコに作成した当たり判定のコマンドです。
今回はここにダメージを受けたときの処理を追加します。
プレイヤーのネコは最初ライフを3持っていて
敵にぶつかるたびに、3→2→1→0と減っていくことにします。
この3から順に変わっていく数字を「変数」と言います。
Scratchではデータの「変数を作る」ボタンから作成します。
今回は変数の名前を「Life」としました。
「すべてのスプライト」と「このスプライトのみ」の選択は
「すべてのスプライト」を選択しておいてください。
変数を作成すると、下の図のようなコマンドが追加されます。
追加された「Life」のチェックボックスをチェック状態にすると、画面上に「Life」が表示されるようになります。
今回は簡易的に画面に表示された「Life」をそのまま使用します。
2.初期ライフの設定
いま表示されている「Life」は0です。ゲームの開始時点ではライフを3にする必要があります。
ネコの初期設定に「Lifeを3にする」を追加しました。
ついでに、位置の指定もx座標だけでなくy座標の指定まで行うように変更しています。
これは、ジャンプしたままゲームオーバーになったときに、キャラクターが空中に浮きっぱなしになることへの対策です。
3.ダメージを受けたときにライフを減らす
次にネコの当たり判定に「ライフを減らす」コマンドを追加しました。
「ライフを減らす」コマンドの次に「ライフがが0になっていないか」判定をしています。
ゲームオーバーの判定は「Life=0」ではなく「Life<1」にしています。
これは連続でダメージを受けたときにLifeがマイナスになるかもしれないためです。
Lifeがもしもマイナスになってしまうと「Life=0」の判定では判断できなくなります。
そして、ゲームオーバー時には制御の「すべて止める」を使用しました。
これで、3回ダメージを受けるとプログラムがストップするようになりました。
今回は画面に変数のLifeを直接表示しましたが、Scratchでは数字を表示しやすいイラストが用意されています。
次回は、Lifeの表示を少しオシャレにしてみようと思います。