愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。
今回はscratchというプログラミング言語を使って、キャラクターがエリアの端にぶつかって戻ってくる、というプログラムを組んでいきたいと思います。
「ある条件になったら」というプログラミングの基礎の考え方を学びたいと思います。
基本となるプログラムを作成しよう
まずは、下記ページを参考に「ずっと歩き続けるプログラム」を作成してください。
上記のページを参考にプログラムを作ると、次のような画面になっているかと思います。
背景を変えてみよう
キャラクターがいるエリアですが、真っ白だと殺風景なので、背景を変えましょう。画面の右下に、「ステージ」と書かれたエリアが有り、青い丸ボタンがあります。そこにマウス(矢印)を重ねると、いくつかメニューが表示されます。その中で虫メガネのようなボタンをクリックします。
すると、次のように背景のデザインを選択する画面に移ります。
その中から、今回は砂漠にサボテンが描かれた「Desert」という背景を選択します。最初から準備されている背景なので、皆さんの背景を選ぶ画面でも表示されていると思います。マウスでクリックして選びましょう。
scratchの元の画面に戻ると、真っ白だった背景が変わっていることが分かるかと思います。
キャラクターが端についたら反転するようプログラム
それではここからが本題です。猫のキャラクターがエリアの端についたら反転するようなプログラムを作りましょう。
まずは単純に、キャラクターが端についたら跳ね返るようにプログラムします。使用するブロックは下記のブロックです。
「もし〇〇なら、〇〇する」というのが、プログラミングにおける『条件』です。「もし」なので英語だと if ですね。この if という条件をつかって動きを変えます。では、このブロックをずっと繰り返すブロックの中に追加してください。
それでは作ったプログラムを動かしてみましょう。すると…
エリアの端についたら、さかさまになって反転してしまいました。これは、「もし端についたら、跳ね返る」というブロックは、単純にグルっと180度回転させるブロックだからです。
これだと上下が反転していて動きとして変なので、次のようなブロックを使います。
このブロックは跳ね返るときに、左右のみの方向だけにするブロックです。これを「もし端についたら、跳ね返る」の次に追加します。
これを実行すると、思っていた通りにキャラクターが跳ね返ってきます。
「ずっと」ブロックを使っているので、ストップボタンを押すまでグルグルと左右の反転を繰り返します。「もし端についたら」という条件が永久に繰り返されているわけですね。
まとめ
今回は「もし」という条件のブロックを使いました。「端についたら」という条件が成立し、次の動作が実行されるというプログラムを組み学びました。ただし、左端につくとサボテンをすり抜けて跳ね返ってきます。なので、サボテンにぶつかったら跳ね返ってくる、というプログラムを今後は作っていきたいと思います。それでは!
コメント