プログラミングの学習サンプルを、Scratch初心者向けに考えています。「クローン」の使い方について。

本連載は、プログラミング学習に関心のある保護者の方が、お子さま(小学3年生以上)と一緒に読むことを想定して書いています。

クローンを使ってできること

コンピュータは計算が得意です。一度にたくさんの式を聞かれても、それぞれ正確な答えを出すことができます。だから、言い換えると、たくさんのものを同時に扱うことも得意なのです。

クローンとは、本来は生物学の少し難しい言葉なのですが、「コピー」くらいの意味だと思ってください。スクラッチでは、スプライト(キャラクター)のコピーを「クローン」と呼びます。クローンを使えば、たくさんのものを同時に扱うことができます。

このとき、元のスプライトのことを、ここでは「本体」と呼びますので、「本体」と「クローン」はそれぞれ分けて考えてください

ブロックについて

クローンを扱うブロックと、その仕組みそのものは簡単です。

  • (自分自身の)クローンを作る

というブロックを、プログラムのどこかに入れてみましょう。すると、本体と同じ位置にクローンが作り出されます。

ただしこれだけでは、本体とクローンがピタッと重なっているので、画面上では変化が分かりません。そこで、

  • クローンされたとき

というブロックを使い、クローンされたすぐ後に、クローンを移動させます。

さらに、クローンが画面の端に到達するなどしたとき、

  • このクローンを削除する

というブロックを使って、余計なクローンは消してしまいます。このようにクローンというのは、しばらく本体のように動き回りますが、幻のようにいつか消えてしまう、ということもよく覚えておいてください。

実践

では、ふうせんをたくさん飛ばしてみます。スペースキーが押されたときにクローンを作り出して、ふうせんが飛ぶようにしたいのですが、今回は回答を先に開示します。

本体への命令と、クローンへの命令

回答は、2つのブロックの連なりになっています。これは、一方は本体への命令、他方はクローンへの命令です。

「もし~なら」というブロックに、「〇〇キーが押されたなら」をはめこみ、「ずっと」で囲むと、その中身は「〇〇キー」が押されたときに実行されます。

昨日のように「〇〇キーが押されたとき」というブロックを使えば、ブロックは1つで簡単に済みますが、わざわざこのようにするのは、本体への命令と、クローンへの命令を分けるためです。

クローンへの命令は、最初の合図(イベント)として、「スペースキーが押されたとき」を、「クローンされたとき」に置き換えただけになります。このブロックの連なりの終わりには、「このクローンを削除する」を忘れないでください。

クローンは幻

クローンを作るたびに、色を変化させるようにしてみましょう。回答を下に示します。

色を変える命令は、本体に向かって指示しましょう。これは何故かと言うと、少し難しい話になります。

プログラミングでは物事の性質・状態を全て数値に置き換えて考える、という話を思い出してください。「x座標」、「y座標」、「色の効果」など様々な数(値)は、本体と、クローンごと用意されています。クローンに指示して「色の効果」を変えても、その効果はクローンごとの色を変えるだけで、本体には関りありません。

けれど本体の「色の効果」の情報を変えていけば、その変化が次に続き、様々な色のふうせんを飛ばすことができます。

その命令が本体に指示するものか、クローンに指示するものか迷ったら、「クローンはいつか消えてしまう幻」ということを思い出して考えてみてください。

本体は隠しておく

プログラムを実行する前に、本体は「隠す」のブロックをクリック操作して、予め隠しておきましょう。そして「クローンされたとき」に、すぐ「表示する」のブロックを使って表示します。

クローンを扱うコツ

このようにクローンは、たくさんのものを同時に扱うときに使いますが、ここで2つのコツを伝授しましょう。

1つ目のコツは、先程書いたように、本体は隠しておき、直接使わないことです。

2つ目のコツは、クローンごとに動きや見た目に少しずつ変化を付けて扱うことです。変化を付けるには、「乱数」を使うのが最も簡単です。

いかがでしょう。「クローン」の使い方が分かりましたか。

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

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

今日のお話はここまでです。また明日!