連載

【embotでプログラミングを学ぼう⑥】待ってから動くプログラムを作ろう:解説編

目次

  1. 【embotレベル】3
  2. 【プログラムの技】条件が「はい」になるまで待つ
  3. 【主に使うプログラム】wait

「○○したら……」という条件を使うといろいろな仕組みが作れます。今回は、ある条件が「はい」の状態になるまで「待つ」という技を覚えましょう。

○○の状態になったら△△する

暗くなったら自動的に明かりがつくライトがあります。プログラミングでは、こんな風に「○○の状態になったら△△する」という仕組みを作ることができます。

「暗くなったら自動的に明かりがつく」という動作を、embotのプログラミング方法にあわせて図にしてみましょう。「暗い」という条件をずっとチェックし続けて、「はい」になるまで待ちます。「はい」(暗い状態)になったら次に進み、「明かりがつく」という動作が実行されます。

embotのプログラミングでは、このように「条件が『はい』になるのを『待つ』」という仕組みを簡単に作ることができます。状態の変化に合わせてプログラムをコントロールできるので、とても便利です。

embotでやってみよう

embotアプリで「レベル3」に設定し、新しいプログラムを作成します。今回使うのは、[wait]ブロックです。「wait」は英語で「待つ」という意味で、「ウェイト」と読みます。[wait]ブロックをステージに置き、タップして[開く]を選んで編集します。

[wait]ブロックには、条件を設定します。ここでは、「タブレットの時刻の秒が『0』」という条件を設定しましょう。[wait]ブロックの中央には「=」記号があります。この左側に「タブレット」の[秒(S)]を置きます。右側には[数]を置いて、数字を「0」と入力してください。

これで、「タブレットの時刻の秒が『0』」という条件が[wait]ブロックに設定できました。時刻の秒がちょうど0という条件です。

フローチャートの画面に戻り、[start]、[function]、[end]ブロックを追加して次の図の通り矢印でつなぎます。プログラムは[wait]ブロックまで進んだら、条件が「はい」になるまで待ちます。

次に[function]のプログラムを作ります。「タブレットの時刻の秒が『0』」になったときに実行されるプログラムです。次の図を参考に、ブザーとライトを2秒オンにするプログラムを作成してください。

フローチャートの画面に戻り、シミュレーターでプログラムを実行して確認してみましょう。[wait]ブロックが実行されると、タブレットの現在時刻の「秒」をチェックし続けて「0」になるまで待ちます。「秒」の値が「0」になるとプログラムが次に進み、[function]が実行されてライトとブザーがつきます。現在時刻の「秒」の値を知りたいときは、[秒(S)]アイコンを押すと吹き出しで表示されます。

[if]ブロックは使わないの?

「embotでプログラミングを学ぼう④」では、[if]ブロックを使って「条件によって道が分かれるプログラム」を作りました。[if]ブロックは、条件を1回チェックしてすぐに「はい○」と「いいえ×」のどちらかに進みます。[wait]ブロックのように条件をチェックし続けて、状態の変化を見張り続けることはできません。

作りたい仕組みにあわせて、[if]と[wait]のどちらのブロックがふさわしいかを選びましょう。

embot アイコン embotアプリ』はこちら!

embotを購入されていない方でも
無料でお試しいただけます。

※embot+の機能をつかうには最新のアプリをダウンロードください。