マイクロビットのホームページにあるレッスンを紹介したいと思います。英語版ですので、日本語で纏めてみました。前回の記事では『温度を測ってみよう』を紹介しましたので、今回は『じゃんけんゲーム』を取り上げます。
前の記事で使い方等を紹介していますので、初めての方はこちらをご覧の上当記事をお読み下さい。また、ブロックエディターは初めてという方は、まず当サイトで紹介しているブロックリーゲームズを体験していただくと分かりやすいと思います。
『温度を測ってみよう』プログラムのチャレンジの解答例
記事『micro:bit(マイクロビット)で学ぶ 2』のチャレンジは、
- 使っている人に温度だと分かるテキストを追加する
- 温度の記号を追加する (摂氏:℃、華氏:℉)
- ボタンを押すか、別の動作をした時に温度を摂氏から華氏に変換して表示する(華氏=(摂氏x1.8) + 32)
の3つでした。
それぞれ、以下の様にしてみました。他にも色々方法はあると思いますので、自分でやってみてください。
1は、温度を表示する前に『オンド』と表示し、2については℃と℉の記号をLEDで表示し、3についてはAボタンを押したら華氏を表示するようにしました。
回答例は、以下の通りです。
プログラムを作ってマイクロビットで動かす
レッスンをやってみる『じゃんけんゲーム』
今から実際にレッスンの中から1つ選んでプログラムしていきます。12のレッスンがありますが、そこから『じゃんけんゲーム』をやってみます。
このレッスンは、マイクロビットを振ったときに、LEDにグー、チョキ、パーをランダムに表示して友達とじゃんけんゲームをできるようにします。また、勝った時はAボタンを押し勝数に1を足して、現在の勝ち数を表示します。負けた時はBボタンを押し勝数から1を引いて、現在の勝数を表示します。
レッスン目標子供たちは、次のことができるようになります。
- ランダムな数字(乱数)を作る
- 『もし…..なら….をする』ブロックを使う(条件処理)
- 得点システムを使う
訳者注:上の赤字部分はレッスン内容には記述されていますが、プログラム作成では触れられていません。次の記事で紹介するようにします。
ステップ1
1-1.ブロック種類『入力』から 『ゆさぶられた』ときブロックを選択します。
ステップ2
2-1.ゆさぶられたときにグー(1)、チョキ(2)、パー(0)を保存するための変数を作ります。この0,1,2は、後でLEDに表示する絵を決めるために使います。変数の名前は『buki』とします。ブロック種類の『変数』から『変数を追加する…』をクリックします。
2-2.変数名を入力するメニューが表示されるので、『buki』と入力してOKをクリックします。
2-3.変数『buki』にMicro:bitを振った時に乱数(0~2)を入れるためにブロック種類『変数』から『bukiを0にする』ブロックを選択します。
2-4.プログラミングエリアには以下のブロックがありますので、同じように並べてください。
2-5.グー(1)、チョキ(2)、パー(0)に相当する乱数0,1,2を作るため、ブロック種類『計算』から『0から10までの乱数』ブロックを選択します。
2-6.『0から10の範囲の乱数』ブロックの10を2に変更します。これで0,1,2の乱数を作ることができます。修正後、このブロックを『bukiを0にする』ブロックの0のところにドロップします。プログラミングエリアは以下のようになっています。
2-7.『bukiを0~2の範囲の乱数にする』ブロックをドラッグして、『ゆさぶられたとき』ブロックにドロップします。プログラミングエリアは以下のようになっています。
ステップ3
3-1.マイクロビットを振ると0~2のどれかの数字がbukiに入っていますので、どの数字が入っているのか『もし….なら….する』ブロックで調べます。ブロック種類『論理』から『もし真なら』ブロックを選択します。
3-2.続けて、ブロック種類『論理』の『くらべる』から『0=0』ブロックを選択します。
3-3.プログラミングエリアには以下のブロックがありますので、同じように並べてください。
3-4.『0=0なら真』ブロックをドラッグして、『もし真なら』ブロックの真の部分にドロップします。プログラミングエリアは以下のようになっています。
3-5.ブロック種類『変数』から変数『buki』ブロックを選択します。プログラミングエリアには以下のブロックがありますので、同じように並べてください。
3-6.変数『buki』ブロックをドラッグして、『0=0なら真』の左側の0にドロップします。プログラミングエリアは以下のようになっています。
3-7.『もしbukiが0なら』ブロックをドラッグして、『ゆさぶられたとき』ブロック内にドロップします。プログラミングエリアは以下のようになっています。
ステップ4
もし変数『buki』が0なら、LEDにパーを表示するようにします。
4-1.ブロック種類『基本』から、『LED画面に表示』ブロックを選択します。
4-2.『LED画面に表示』ブロック内の■をクリックするごとに■→□を繰り返しますので、パーの表示用に以下のようにしてください。
4-3.『LED画面に表示』ブロックをドラッグして、『もしbukiが0なら』ブロックの内側にドロップします。プログラミングエリアは以下のようになっています。
ステップ5
もし変数『buki』が1なら、LEDにグーを表示するようにします。ここからは元のレッスンと異なる手順にします。元の手順はステップ3からステップ4を繰り返す形ですが、もっと簡単な方法がありますので、紹介したいと思います。
5-1.プログラミングエリアの『もしbukiが0なら』ブロックを右クリックして、表示されるメニューで複写を選択します。
5-2.以下のように、ブロック全体がコピーされます。
5-3.コピーされたブロックをドラッグして、『もしbukiが0なら』の下にドロップします。
5-4.コピーした『もしbukiが0なら』ブロックの0を1(グー)に変更します。
5-6.『LED画面に表示』ブロック内の■をクリックするごとに■→□を繰り返しますので、コピーしたLEDのパーの表示を消してグーの表示にしてください。
ステップ6
6-1.もし変数『buki』が2なら、LEDにチョキを表示するようにします。ステップ5を繰り返して、以下のようにしてください。
6-2.プログラムは完成ですので、シュミレーターで確認します。シュミレーターの『SHAKE(振る)』ボタンを押したら、グー、チョキ、パーの表示がされることを確認してみてください。
6-3.前の記事で紹介した通り、プログラムに名前を付けて保存してマイクロビットにコピーしてください。終わったらマイクロビットを振ってグー、チョキ、パーの表示がされる事を確認してください。
これでレッスンは終了です。元のレッスンに含まれていない、勝数の表示については、次の記事で紹介したいと思います。
完成プログラム
訳者注:当サイトでは、マイクロビットホームページにあるレッスンを順次紹介しています。私の注意不足で紹介順が適切ではありませんでした。こちらの目次記事を見ていただくか以下のリンクを参考にご覧ください。無線とシリアル通信についてはレッスンがありませんでしたので、作成しました。
micro:bit(マイクロビット)で学ぶ 1→micro:bit(マイクロビット)で学ぶ 2『温度のアクティビティー』→19『アンサリングマシン』→20『数当てゲーム』→ 5『サイコロ』→ 6『トゥルース・オア・デア』→8『マジック8ボール』→21『ラブメーター』→当記事→4『じゃんけんゲーム2』→7『マジックボタン』→無線の紹介→シリアル通信の紹介
最後まで記事をお読みいただきありがとうございます。
記事の改善に役立てたいと思いますので、よろしければアンケートにご協力ください。
コメントを書く