Micro:bit プログラミング16本ノック

# 目的

Micro:bitを入手したけれど使わずに眠っている、いざさわってみると何を作っていいかわからないという方向けに比較的シンプルなプログラミングのお題と回答サンプルを用意しました。

----

# 準備

1. Micro:bitをUSBケーブルでパソコンに接続します。

1. WindowsまたはMacパソコンのChromeブラウザで https://makecode.microbit.org にアクセスします。

![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/e3ed0818-cbcf-12af-4fc2-b87d9fba1e2f.gif)
※ウインドウ幅が狭いとレイアウトが崩れますので、ある程度幅を取るよう調整してください。

----

# お題1 ハートマークを表示しよう

- 電源を入れるとハートマークを表示し続けるようにします。

[動作イメージ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/4867a823-3667-74e6-c32c-a424b6a9b959.png)

[作成例]
https://makecode.microbit.org/_9ji4ChYoDcye

----

# お題2 ハートマークを点滅させよう

- 電源を入れると1秒毎にハートマークが点滅するようにします。
- 1秒待つには「基本／一時停止」ブロックを使います。

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/2a73fc6a-2538-71da-8edd-22ee0152617b.gif)

[作成例]
https://makecode.microbit.org/_9ji4ChYoDcye

----

# お題3 横に線を引いてみよう

- 3行目のLEDを左から順に0.1秒間隔で点灯させていきます。
- ループブロックを使ってみよう。

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/98a3e816-4916-03f5-4113-e6a531e71116.gif)

[作成例]
https://makecode.microbit.org/_i3P9TfaYV22y

----

# お題4 縦に線を引いてみよう

- 3列目のLEDを上から順に0.1秒間隔で点灯させていきます。

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/a484b46a-0429-7256-7eb3-3e81042ed4f0.gif)

[作成例]
https://makecode.microbit.org/_DHMedYacf7g9

----

# お題5 斜めに線を引いてみよう（右下）

- 左上のLEDから順に右下へ0.1秒間隔で点灯させていきます。

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/59fa17fc-6c31-4480-8795-1c0bdbf490a2.gif)

[作成例]
https://makecode.microbit.org/_buqFDV3rrcse

----

# お題6 斜めに線を引いてみよう（左下）

- 右上のLEDから順に左下へ0.1秒間隔で点灯させていきます。
- 計算ブロックを使います。

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/9f1645e2-e32c-23f3-d703-84cf14ad6c02.gif)

[作成例]
https://makecode.microbit.org/_9DD8tyf34a3u

----

# お題7 四角を描いてみよう

- 左上から右上、右下、左下、左上にLEDを0.1秒間隔で点灯させていきます。

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/00a20a5e-b730-e2cd-ca90-fabf6d8f0f22.gif)

[作成例]
https://makecode.microbit.org/_1pH0sxHyJ3r2

----

# お題8 全LEDを一つずつ点灯させてみよう

- 1行目左から右、2行目左から右とLEDを0.1秒間隔で点灯させていきます。

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/7d8ed28e-eb0a-5f82-39c9-c6ff17317edc.gif)

[作成例]
https://makecode.microbit.org/_1DcF6KTtHfKE

----

# お題9 じゃんけん装置をつくってみよう

- Aボタンを押すとランダムにグー、チョキ、パーの手を出すようにします。
- グー ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/5eb7178c-76e5-f671-90a5-450272a1bbd5.png)
- チョキ ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/7f8a9438-8c9b-722c-3950-1ff535b365a4.png)
- パー ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/222a3156-d8e8-bf9e-a96c-2a39fc2fe9d7.png)

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/7d1497a5-a345-099d-e404-861ef74d2a90.gif)

[作成例]
https://makecode.microbit.org/_cEpePPeaCVeH

----

# お題10 カウンタを作ってみよう

- Aボタンを押すと数字が１つずつ増える、９が最大
- Bボタンを押すと数字が１つずつ減る、０が最小
- A+Bボタンを押すと数字が０にリセットされる

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/e7f4cadb-f3d7-d330-44ff-97633f6e4247.gif)

[作成例]
https://makecode.microbit.org/_cUfCX96mR47W

----

# お題11 数当てゲームを作ってみよう

- 初めに正解の数字をランダムに設定し、？を表示
- Aボタンを押すと数字が１つずつ増える、９が最大
- Bボタンを押すと数字が１つずつ減る、０が最小
- A+Bボタンを押すと指定した数字と正解を比較し、等しい場合は◎、正解のほうが小さい場合は↓、大きい場合は↑を表示
- 正解した場合は新しい数字をセットし再度数当てができる

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/276fecd4-af23-2a38-7d1d-743da615e1c6.gif)

[作成例]
https://makecode.microbit.org/_gx1VLJgCFCaX

----

# お題12 電卓を作ってみよう

- 初めに左辺と右辺を0に設定し、左辺入力状態にする（準備）
- Aボタンを押すと数字が１つずつ増える、９が最大
- Bボタンを押すと
 - 左辺入力の場合は右辺入力にし、＋を表示
 - 右辺入力状態の場合は＝を表示し、1秒後に計算結果を表示、準備状態に戻す

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/717be693-edc9-3266-59eb-af6d43ceed90.gif)

[作成例]
https://makecode.microbit.org/_MxxLquAfW3L2

----

# お題13 光センサを作ってみよう

- 光センサの値の1/10の数だけLEDを光らせる

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/892905b8-cc66-48b1-9e52-f56cd39fe5b9.gif)

[作成例]
https://makecode.microbit.org/_aEVf4v4bpKaL

----

# お題14 方位磁針をつくってみよう

- 方角の数字に合わせて矢印を表示します

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/b16a9077-4e1f-569e-1f01-93cd9e123000.gif)

[作成例]
https://makecode.microbit.org/_Yma7TeL4tYyX

----

# お題15 玉転がしゲームをつくってみよう

- X、Y軸の傾きを元にLEDを光らせる
- 一番外枠以外のLEDを光らせればOK

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/0b32c869-e77b-2918-d771-7985f8c6bd06.gif)

[作成例]
https://makecode.microbit.org/_R0410cek684a

----

# お題16 センサーライトをつくってみよう

- しきい値を設定し、それより暗くなるとLEDを点灯させる
- LEDがついたときはその分閾値を上げる

[動作イメージ]
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82535/51a094e4-3841-596f-ba3b-7b12a488ad5c.gif)

[作成例]
https://makecode.microbit.org/_5j1dsE3ykbhT