「~なら」のプログラム
「もしスイッチを押したら」「明るくなったら」「時間がたったら」など、プログラムではいろいろな状況に応じて、処理を変える書き方がよく出てきます。この仕組みを「条件分岐」といいます。
![身の回りの条件分岐](http://et-cdn.shoeisha.jp/static/images/article/1170/1170_001.png)
今回は、micro:bitの2つのボタンを使って、「ボタンが押されたら」「LEDの表示を変える」プログラムを作りましょう。なお、完成したプログラムは上のダウンロードリンクからも入手できるので、そちらもチェックしてみてください。
プログラムは前回同様、MakeCodeで作成します。
MakeCodeについて
ここで紹介するmicro:bitのプログラミング環境「MakeCode」は、随時アップデートされているため、執筆時と表記などが異なるかもしれません。あらかじめご了承ください。
ボタンが押されたら何を表示しよう?
「最初だけ」のブロックは使わないので、まずは「ツールボックス」に戻しておきましょう。
![使わないブロックは戻す](http://et-cdn.shoeisha.jp/static/images/article/1170/1170_002.png)
ボタンが押されたかどうかを調べるブロックは「基本」カテゴリにあります。「ボタンAが押されたとき」の「A」の部分をクリックすると、「B」「A+B」がさらに選べます。せっかくなので、3通り全部使ってみましょう。
ブロックを右クリックして「複製する」を選択すると、コピーできます。
![「基本カテゴリ」から「ボタンAが押されたとき」ブロックをとってくる](http://et-cdn.shoeisha.jp/static/images/article/1170/1170_012.png)
![右クリックでメニューを表示し、「複製する」を選択](http://et-cdn.shoeisha.jp/static/images/article/1170/1170_013.png)
![複製したブロックの条件を変更](http://et-cdn.shoeisha.jp/static/images/article/1170/1170_014.png)
それぞれのブロックの中に、LEDを表示するブロックを入れてみましょう。「ずっと」ブロックにも入れましょう。自分で画像を作ってもいいですし、すでにある画像アイコンから選んでもよいでしょう。全部で4通りの画像が試せますね。
下の画像は「基本」カテゴリより、画像アイコンのブロックを選んだ例です。
![LEDに「アイコンを表示」ブロック](http://et-cdn.shoeisha.jp/static/images/article/1170/1170_003.png)
![表示したいアイコンを選択](http://et-cdn.shoeisha.jp/static/images/article/1170/1170_004.png)
![3つのボタンを押すと違う画像を表示するプログラム](http://et-cdn.shoeisha.jp/static/images/article/1170/1170_005.png)
動かしてみるとよくわかりますが、LEDの表示が切り替わるタイミングは、実は「ボタンを押して、元に戻る」タイミングなのです。ボタンが戻ったあとに画像が変わり、しばらくして「ずっと」ブロックの表示に戻りますね。
サンプルプログラム
このプログラムはサンプルプログラムの「microbit-3つのスイッチ.hex」と同じものです。