【Scratch】プログラミングで「条件」を追加しよう

Scratch

愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。

今回はscratchというプログラミング言語を使って、キャラクターがエリアの端にぶつかって戻ってくる、というプログラムを組んでいきたいと思います。

「ある条件になったら」というプログラミングの基礎の考え方を学びたいと思います。

スポンサーリンク

基本となるプログラムを作成しよう

まずは、下記ページを参考に「ずっと歩き続けるプログラム」を作成してください。

上記のページを参考にプログラムを作ると、次のような画面になっているかと思います。

キャラクターがずっと歩き続けるプログラム

背景を変えてみよう

キャラクターがいるエリアですが、真っ白だと殺風景なので、背景を変えましょう。画面の右下に、「ステージ」と書かれたエリアが有り、青い丸ボタンがあります。そこにマウス(矢印)を重ねると、いくつかメニューが表示されます。その中で虫メガネのようなボタンをクリックします。

Scratchの画面で背景を選択する

すると、次のように背景のデザインを選択する画面に移ります。

背景選択画面で「Desert」を選ぶ

その中から、今回は砂漠にサボテンが描かれた「Desert」という背景を選択します。最初から準備されている背景なので、皆さんの背景を選ぶ画面でも表示されていると思います。マウスでクリックして選びましょう。

scratchの元の画面に戻ると、真っ白だった背景が変わっていることが分かるかと思います。

真っ白だった背景が砂漠の風景に変わった

キャラクターが端についたら反転するようプログラム

それではここからが本題です。猫のキャラクターがエリアの端についたら反転するようなプログラムを作りましょう。

まずは単純に、キャラクターが端についたら跳ね返るようにプログラムします。使用するブロックは下記のブロックです。

動き、というグループに入っているブロックです

「もし〇〇なら、〇〇する」というのが、プログラミングにおける『条件』です。「もし」なので英語だと if ですね。この if という条件をつかって動きを変えます。では、このブロックをずっと繰り返すブロックの中に追加してください。

10歩動かすのすぐ下に追加する

それでは作ったプログラムを動かしてみましょう。すると…

さかさまになって戻ってきた

エリアの端についたら、さかさまになって反転してしまいました。これは、「もし端についたら、跳ね返る」というブロックは、単純にグルっと180度回転させるブロックだからです。

これだと上下が反転していて動きとして変なので、次のようなブロックを使います。

こちらも「動き」のグループにあるブロックです

このブロックは跳ね返るときに、左右のみの方向だけにするブロックです。これを「もし端についたら、跳ね返る」の次に追加します。

ずっとブロックの中に追加する

これを実行すると、思っていた通りにキャラクターが跳ね返ってきます。

ちゃんと左右のみの回転ではねかえってきた

「ずっと」ブロックを使っているので、ストップボタンを押すまでグルグルと左右の反転を繰り返します。「もし端についたら」という条件が永久に繰り返されているわけですね。

まとめ

今回は「もし」という条件のブロックを使いました。「端についたら」という条件が成立し、次の動作が実行されるというプログラムを組み学びました。ただし、左端につくとサボテンをすり抜けて跳ね返ってきます。なので、サボテンにぶつかったら跳ね返ってくる、というプログラムを今後は作っていきたいと思います。それでは!

コメント

タイトルとURLをコピーしました