Scratchで簡単なストーリーを作ってみましょう。変数、条件分岐、クローンといった概念を簡単な説明で書いています。

今回作りたいのは、たまごをノック(クリック)すると、たまごが揺れて反応し、何度かノックしたときに割れて、ひなが顔を出す、という簡単なストーリーです。

ノックの動作は、「このスプライトが押されたとき」のブロックに続けてプログラムを作ってください。

変数

変数について、僕は以前こんな説明をしました。

変数を使うには、その変数に「名前を付ける」ことから始めます。

プログラミングでは物事の性質・状態を全て数値に置き換えて考える、という話を繰り返ししていますが、その数値を入れるために名前を付けた入れ物を「変数」と言っています。

ノックした回数を数えなくてはならないということは、「動き」でも「見た目」でもない新しい数を、コンピュータに覚えておいてもらわなくてはなりません。つまり新しい変数を「ノックした数」のような名前で作って、数えるようにすればいいですね。

新しい変数を作ったら、必ず「初期化」することを忘れないでください。プログラムの開始直後(「旗が押されたとき」に続けて)、変数に数値を(今回は0を)代入しておきましょう。

条件分岐

「もし〇〇ならAのルート(処理)を、そうでなければBのルート(処理)を」という風に、何らかの条件によって分岐、すなわち処理のルートを選択させるのが「条件分岐」です。言葉通りですね。

条件とは、多くの場合、左右に数値や式を置き、間に「= (左右は等しい)」、「< (左は右より小さい)」、「> (左は右より大きい)」の3つの記号で表します。

スクラッチでは、「演算」のカテゴリーにブロックが用意されています。

今回は、3回ノックしたらたまごが割れることにするので、条件式は「ノックした数 < 3」になります。

「もし [条件式] なら」に続けて、「メッセージ(ノック)を送る」のブロックを、「でなければ」に続けて、「メッセージ(割れる)を送る」のブロックを連結してください。

完成1

こういう風になります。

ただし、連続でスプライトをクリックすると挙動がおかしくなるので、注意してください。

実際にブロックを組み立てた作品を、以下のリンクから見ることができます。

https://scratch.mit.edu/projects/392700647/

さて、今日はまだ終わりません。

クローン

今度は、たまごが割れると、色の違うたまごが中から現れ、また割ると、また現れ・・・と、無限に続くストーリーにします。プロジェクトをコピーして始めてみましょう。

たくさんのものを扱うとき、スクラッチでは「クローン」の出番です。クローンを扱うときは、元の「本体」と、コピーである「クローン」を分けて考えるという話を以前しました。

本体への命令

「旗が押されたとき」から始める本体への命令は、まずクローンを作ることです。そして本体は隠してください。2回目に遊ぶときのことも考えて、クローンを作る前に、表示する命令も入れておきましょう。

クローンへの命令

クローンされたとき、まず色を変えましょう。その後はクリックされるのを待つだけなので、「割れる」を受け取ったときのプログラムを直していきましょう。

割れる時は、動きの前に次のクローンを作って残しておきます。そして、割れる動きの後にこのクローンを削除します。これだけでOKです。

※前回は説明を省略しましたが、ひながあいさつする命令を入れていました。それはここで外すようにしてください。

完成2

こういう風になります。

実際にブロックを組み立てた作品を、以下のリンクから見ることができます。

https://scratch.mit.edu/projects/392701674/

今日のお話はここまでです。

ここまでお読みくださり、誠にありがとうございました。