たまごとひな (2)

Scratchで簡単なストーリーを作ってみましょう。変数、条件分岐、クローンといった概念を簡単な説明で書いています。
今回作りたいのは、たまごをノック(クリック)すると、たまごが揺れて反応し、何度かノックしたときに割れて、ひなが顔を出す、という簡単なストーリーです。
ノックの動作は、「このスプライトが押されたとき」のブロックに続けてプログラムを作ってください。
変数
変数について、僕は以前こんな説明をしました。
変数を使うには、その変数に「名前を付ける」ことから始めます。
プログラミングでは物事の性質・状態を全て数値に置き換えて考える、という話を繰り返ししていますが、その数値を入れるために名前を付けた入れ物を「変数」と言っています。
ノックした回数を数えなくてはならないということは、「動き」でも「見た目」でもない新しい数を、コンピュータに覚えておいてもらわなくてはなりません。つまり新しい変数を「ノックした数」のような名前で作って、数えるようにすればいいですね。
新しい変数を作ったら、必ず「初期化」することを忘れないでください。プログラムの開始直後(「旗が押されたとき」に続けて)、変数に数値を(今回は0を)代入しておきましょう。
条件分岐
「もし〇〇ならAのルート(処理)を、そうでなければBのルート(処理)を」という風に、何らかの条件によって分岐、すなわち処理のルートを選択させるのが「条件分岐」です。言葉通りですね。
条件とは、多くの場合、左右に数値や式を置き、間に「= (左右は等しい)」、「< (左は右より小さい)」、「> (左は右より大きい)」の3つの記号で表します。
スクラッチでは、「演算」のカテゴリーにブロックが用意されています。
今回は、3回ノックしたらたまごが割れることにするので、条件式は「ノックした数 < 3」になります。
「もし [条件式] なら」に続けて、「メッセージ(ノック)を送る」のブロックを、「でなければ」に続けて、「メッセージ(割れる)を送る」のブロックを連結してください。
完成1
こういう風になります。

ただし、連続でスプライトをクリックすると挙動がおかしくなるので、注意してください。
実際にブロックを組み立てた作品を、以下のリンクから見ることができます。
https://scratch.mit.edu/projects/392700647/
さて、今日はまだ終わりません。
クローン
今度は、たまごが割れると、色の違うたまごが中から現れ、また割ると、また現れ・・・と、無限に続くストーリーにします。プロジェクトをコピーして始めてみましょう。
たくさんのものを扱うとき、スクラッチでは「クローン」の出番です。クローンを扱うときは、元の「本体」と、コピーである「クローン」を分けて考えるという話を以前しました。
本体への命令
「旗が押されたとき」から始める本体への命令は、まずクローンを作ることです。そして本体は隠してください。2回目に遊ぶときのことも考えて、クローンを作る前に、表示する命令も入れておきましょう。
クローンへの命令
クローンされたとき、まず色を変えましょう。その後はクリックされるのを待つだけなので、「割れる」を受け取ったときのプログラムを直していきましょう。
割れる時は、動きの前に次のクローンを作って残しておきます。そして、割れる動きの後にこのクローンを削除します。これだけでOKです。
※前回は説明を省略しましたが、ひながあいさつする命令を入れていました。それはここで外すようにしてください。
完成2
こういう風になります。


実際にブロックを組み立てた作品を、以下のリンクから見ることができます。
https://scratch.mit.edu/projects/392701674/
今日のお話はここまでです。
ここまでお読みくださり、誠にありがとうございました。