embot

embot WOW!

2020.10.27

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

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

解説編で知った新しいプログラムの技を使って、次の課題に挑戦してみましょう。

ゆらゆら禁止ゲームを作ろう!

タブレットを水平に持ったまま障害物などをくぐりぬけて、タブレットが傾いてしまったら負け!というゲームに使えるプログラムを作りましょう。タブレットが傾いたらembotが音と光で警告してくれる仕組みにします。

タブレットの傾きをチェックするには、「embotでプログラミングを学ぼう⑤」で学んだ「ジャイロ(傾き)」の値を使います。ここでは、「Y」の値を使って、タブレットが右側に傾いたときにembotが反応するプログラムにします。「Y」の値は、タブレットが水平な状態が「0」で、右側に傾けると数字が増えて直角で「90」になります。

タブレットの傾きが右側に10°を越えたら、embotが反応してライトとブザーで警告を出す仕組みにしてください。どのようなプログラムにしたら良いでしょうか?

プログラムの解説とポイント

フローチャートの画面で、[start]、[wait]、[function]、[end]ブロックを1個ずつ置いて矢印でつなぎます。[wait]ブロックにタブレットの傾きの条件を作り、[function]ブロックに、embotの反応をプログラムします。

[wait]ブロックの編集をして、条件を設定します。

「タブレットの傾きが右側に10°を越える」というのは、「ジャイロY」の値が「10」よりも大きくなるということです。「○は△より大きい」を記号で表すときには「>」を使い、「○>△」と表現します。

「ジャイロY」の値が「10」よりも大きいという条件は「ジャイロY>10」となります。

次の図を参考に条件を設定しましょう。記号は「>」を選び、記号の左側に「タブレット」の[ジャイロY]を置き、右側には[数]を置いて、数字を「10」と入力してください。

これで、「『ジャイロY』の値が『10』よりも大きい」という条件が設定ができました。

この条件が「はい」になるまで待つのが[wait]ブロックの役割です。

次に、フローチャートの画面に戻り、[function]のプログラムを作りましょう。[function]のプログラムは次の図の通りです。ライト1とブザーをオンの状態にして3秒待ち、それぞれオフにします。

これで、タブレットが右側に傾くとembotが「ビーッ」というブザー音とライトで警告する仕組みができました。ゆらゆら禁止ゲームの完成です。プログラムを実行してからタブレットを右側に傾けてembotが反応するかどうか確かめてみましょう。

ゆらゆら禁止ゲームのルールはみなさんの工夫次第です。タブレットをうっかり傾けてしまいそうな障害物を考えてみてください。タブレットを持ったらプログラム実行ボタンを押し挑戦を開始します。タブレットが傾いてしまってembotが警告を出したら次の挑戦者に交代です。

こちらがこのプログラムの動画です。

ちょっとひと工夫

例えば、小さなお子さんがゲームに挑戦するときは、[wait]ブロックの条件を「ジャイロY > 20」にすると、タブレットが20°まで傾いても警告が出ません。大人だけ「ジャイロY > 5」にして、ちょっと傾くだけで警告が出るようにすることもできます。数字を変えるだけでこっそりハンデをつけてあげることができます。こんなふうに手軽に仕組みを変更できるのがプログラミングならではの良さですね。

まとめ

[wait]ブロックは、状態の変化に反応して動くプログラムを作ることができるのでとても便利です。新しい技を覚えたらぜひ積極的に使ってみてください。

もどる

embotアプリ

アプリは、embotを購入されていなくても、
お試しいただけます。