【embotでプログラミングを学ぼう⑭-1】一部を変えて再利用するプログラムの技:解説編
目次
- 【embotレベル】5
- 【プログラムの技】引数のあるファンクション
- 【主に使うプログラム】ひき数
プログラミングをするとき、同じパターンが出てくる場合は、一度作った[function]を再利用したり、[for]や[while]で[function]を繰り返したりという工夫をしてきました。今回は、[function]の一部を変えて再利用する技を覚えましょう。
数字だけ変えられるファンクション(function)を作る
プログラムを作るときに、数字だけ変えて再利用したいパターンを見つけることがあります。例えば、ライトが光るプログラムの秒数だけ変えたり、両手を動かすプログラムの角度だけを変えたりできたら、数字だけ違うプログラムを何個も作らなくてすみます。
embotの[function]ブロックでプログラムを作るときに、決まった数字を指定するのではなく、どんな数字が入ってもいい状態にしておくことができます。ここで使うのが「引数(ひきすう)」です。引数は、1とか2とか3のような特定の数字ではなく、数字の入れものです。引数のある[function]を使うときは、毎回好きな数字を指定することができます。
embotでやってみよう
引数を使うには、embotアプリで新しいプログラムを作成するときにレベル5を選びます。フローチャートの画面で、[start]、[function]、[end]ブロックを1個ずつ置いて線でつなぎます。空いている場所に、もう1個別の[function]ブロックを置き、これを開いてプログラムを作成しましょう。
ライトとブザーをつけて両手を指定の角度にするプログラムを作成します。次の図の通りシンプルなプログラムですが、[○秒待つ]や[けす]、[とめる]などを入れる必要がありたくさんのブロックが必要です。この[function]を手の角度だけ変えて再利用できるようにします。
レベル5のプログラム編集画面には、[ひき数]というボタンがあり、引数を作成することができます。次の図を参考に、2個の引数を作ってください。
作った引数のうち「ひき数1」をサーボ 1の角度に、「ひき数2」をサーボ 2の角度に指定します。[fuucntion]ブロックには好きな名前をつけられるので、あとでわかりやすいように「手」という名前をつけます。
フローチャートに戻って、こんどは矢印でつながっている方の[function]ブロックを開きます。
「せいぎょ」カテゴリーの[Function○を実行する]ブロックを追加して、「手」という名前のfunctionを選びます。
[ひき数せってい]ボタンを押すと設定画面が表示されます。ここで、function「手」の引数に入れたい数字を指定します。「ひき数1」に入れた数字がサーボ 1(左手)の角度、「ひき数2」に入れた数字がサーボ 2(右手)の角度になってこのfunction「手」は実行されます。
続けて同じように好きなだけ[Function○を実行する]ブロックを追加して、好みのポーズになるように引数を設定していきます。
フローチャートに戻って、シミュレーターでプログラムを実行してみます。ライトとブザーとともに手のポーズを次々に変えるプログラムが完成しました。