micro:bit のボタンAを押すとスタート!LEDが1つだけ、順番に光り続けます。「アタリ」のLEDが光ったら急いでボタンBを押しましょう。「アタリ」のLEDが光っている間に押せたら勝ちです!
LEDが光る時間を短くするほど、難しくなります。ゲーム作りを通して、LEDのプログラミングスキルを高めましょう!


フルカラーLEDボードでは、neopixelというLEDを使っています。neopixelを初めて使う人は、まずチュートリアルをチェックしましょう。

両面テープを使って厚紙にLEDボードを貼り付け、「アタリ」のLEDがわかるようにマークを付けましょう。
「アタリ」はどのLEDでもOKです。

LEDボードをワークショップモジュールにつなげます。今回は、「P8」と書かれたコネクターにつなげます。
ワークショップモジュールを初めて使う人は、チュートリアルをチェックしましょう。
micro:bitをワークショップモジュールにつなげたら、完成です。
ボタンAを押したら、LED 0番から11番まで、順番に光って消えるようにしてみました。

プログラムURL:https://makecode.microbit.org/_fEDd0oaEjLxh
※こちら画面のプログラムをMakeCodeで開く方法はチュートリアルを確認してください。

LEDが光っている時間を設定しています。この時間を短くすると、光っている時間が短くなります。ボタンAを押したら、LED 0番から1つずつ順番にくりかえしずっと光ります。LEDを消したい場合は、ワークショップモジュールのスイッチをOFFにしましょう。

プログラムURL:https://makecode.microbit.org/_i4r6aM7uc6JC
ある条件を満たしている間ずっとくりかえしたい場合は、「もし 偽 ならくりかえし」ブロックを使います。
「偽」部分をクリックして、「真」を選びましょう。今回は条件を指定していないので、永遠にずっと繰り返し光るプログラムとなっています。
ボタンAを押したら、LED 0番から1つずつ順番にくりかえし光ります。そのあとボタンBを押したら、ボタンBを押した瞬間に光っていたLEDが光り続けます。

プログラムURL:https://makecode.microbit.org/_8EFWW1MPW1pg
変数「ゲーム中」の値が「真」の間ずっと、くりかえし実行されます(LEDが1個ずつ光ります)。
「変数」の中にある「ゲーム中」ブロックを、「真」部分に入れましょう。
ゲーム中でなければ = ボタンBが押されたら、LEDを順番に光らせる作業を終わらせます。
変数「ゲーム中」の値を「偽」に上書きします。「偽」になることによって、LEDを順番に光らせる作業が終わります(「ボタンAが押されたとき」ブロック内にあるループが終わります)。
「論理」の中にある「もし なら」ブロックを「ずっと」の中につなげます。次に、「入力」の中にある「ボタンAが押されている」ブロックを「真」の部分に入れます。
「変数」の中にある「変数 ゲーム中 を 0 にする」ブロックをつなげ、「論理」の中にある「偽」ブロックを「0」部分に入れたら完成です。
「ボタンAが押されている」ブロックは、ボタンAを押した瞬間に(ボタンAから指をはなす前に)実行されます。
一方、「ボタンAが押されたとき」ブロックは、ボタンAを押し終わったときに(ボタンAから指をはなしたときに)実行されます。
※ボタンを押してから指をはなすまでの時間がながすぎると、実行されません。

ボタンBを押したときに光っているLEDがアタリのLEDかどうか調べ、アタリだったら うれしい顔を、アタリでなければ かなしい顔をmicro:bitのLED画面に表示します。

プログラムURL:https://makecode.microbit.org/_ee8AThJp07bL
変数「LEDの番号」は、光らせているLEDの番号をメモする変数です。
変数「アタリのLED番号」は、工作作業のときにアタリと決めたLEDの番号をメモする変数です。
ボタンBが押されたとき、光っているLEDの番号とアタリのLEDの番号が同じだったら勝ち、違っていたら負けとなります。