【embotでプログラミングを学ぼう④-2】道が分かれるプログラムを作ろう:課題編
目次
- 【embotレベル】2
- 【プログラムの技】条件
- 【主に使うプログラム】[if]、[function]
解説編で知ったプログラムの技を使って、次の課題に挑戦してみましょう。
かさ?ぼうし?おすすめ持ち物マシーンを作ろう
これから外出しようとしている人に、embotを使っておすすめの持ち物を伝えられる仕組みを作りましょう。embotの右手にぼうし、左手にかさを持たせて、どちらかの手を上に向ける仕組みにします。embotアプリのスイッチでどちらの手を上に向けるか選べるようにしてください。
embotの手に、色紙で作ったぼうしとかさを持たせてみました。
プログラムの解説とポイント
まず、大きな流れをフローチャートで作ります。次の図の通り、[start]、[if]、[end]、3個の[function]ブロックをプログラム編集エリアに置き、矢印を引き出してつなぎます。
プログラムの大きな流れを考えます。次の図の通りにすれば、スイッチがONのときにかさを上げ、OFFのときにぼうしを上げるプログラムになります。
[function]と[if]の中のプログラムを順に作っていきましょう。
最初の[function]ブロックには「はじめのポーズ」をプログラムします。最初に両手を下ろした状態にするためです。
次に[if]ブロックで、「スイッチ01がON」という条件を作ります。これで、スイッチ01がONならば「○」の道、OFFならば「×」の道に進めます。
「○」の側の[function]ブロックには、かさを上に向けるプログラムを作成します。embotの左手は「サーボ1」です。
「×」の側の[function]ブロックには、ぼうしを上に向けるプログラムを作成します。embotの右手は「サーボ2」です。
全ての[function]と[if]のプログラムを作ると、フローチャートの画面は、次の図の通りになります。[function]ブロックと[if]ブロックには、作成した順に数字が表示され、左下の「セーブリスト」に登録されていることがわかります。これで完成です。
embotアプリ右上の「スイッチ01」を「ON」にしてプログラムを実行すると、「○」の側の[function]が実行され、「OFF」にしてから実行すると「×」の側の[function]が実行されます。
[ポイント]なぜ「雨が降っている」を条件にしないの?
この課題では「スイッチ1がON」を条件にしましたが、それよりも、「今、外で雨が降っている」を条件にした方が、便利な仕組みになりそうです。embotには、レベル5のひらめきAPIブロックを使うと、実際の天気情報をチェックしてプログラムを作ることもできます。
embotで今回作成したプログラムを動かした動画です。
条件を使うとプログラミングでできることの幅が広がります。条件を2個以上使うとさらにいろいろなプログラムが作れるので、まずは基本的な使い方に慣れておきましょう。
つぎは、時刻や位置の情報をつかったプログラムに挑戦します。
→【embotでプログラミングを学ぼう⑤-1】時刻や位置をプログラムの材料にする:解説編