マイクロビットのホームページにあるレッスンを紹介したいと思います。英語版ですので、日本語で纏めてみました。今回は『マジック8ボール』を取り上げます。
当記事は、シリーズでマイクロビット(Micro:bit)のプログラミングについて紹介しています。初めての方はこちらをご覧ください。
マジック8ボールとは:ビリヤードの8番ボールのような形状で、アメリカのマテル社が作っている占いゲーム用の玩具です。日本のおみくじのようなものでしょうか。アメリカでは結構メジャーな玩具のようです。何か質問をしてボールを振って8の裏側を見ると、20の答えのうち1つがランダムに表示されます。50%が前向きな答え、25%が曖昧な答え、25%が否定的な答えなので、確率的には前向きな答えが表示されやすい?のでしょう。Yahoo知恵袋にQ&Aがありました。参考までに。
『マジックボタン』プログラムのチャレンジの解答例
記事『micro:bit(マイクロビット)で学ぶ 7』のチャレンジは、『1.特定の磁力以上の時はアニメーションを追加する』と、『AとBボタンを同時に押したときは、磁力の強さを表示する』の2つでした。
以下に解答例を紹介します。
回答例1:A、Bを表示する時に、磁力の強さが300以上の時右に流れるようにしました。
回答例2:A、Bボタンを押したら、磁力をを表示するようにしました。
上記のプログラムは以下からダウンロードできます。
マジックボタンのチャレンジ回答例
レッスン『マジック8ボール』
まず、上の手順でブロックエディターを開いてください。もし、前に作成中のプログラムが表示された場合は、保存してから左上にある『プロジェクト』メニューをクリックして『新しいプロジェクト』をクリックしてください。最初は、『最初だけ』ブロックと『ずっと』ブロックだけがプログラミングエリアにあります。
12のレッスンがありますが、そこから『マジック8ボール』をやってみます。
レッスン内容
このレッスンでは、Micro:bitを使ってマジック8ボールの作り方を学びます。作り終えたら、Micro:bitに質問をするとランダムに答えを返してくれます。
レッスン目標子供たちは、次のことができるようになります。
- マイクロビットのプログラムで『ジェスチャー』入力を使うことができる
- 乱数を作ることができる
- 『もし…なら…でなければ…』ブロックを使うことができる
- 自分で考えたパターンをLEDに表示できる
このプログラムでは、マジック8ボールを再現します。質問をすると、ランダムな答えをしてくれます。
訳者注:原文にはありませんが、カタカナ表示ができるようにカタカナパッケージを追加する必要があります。以下の手順を参考にしてください。
1-1.最初に、使う人に質問するようにメッセージを表示しますメッセージを表示するために、ブロック種類選択メニュー『カタカナ』にある『文字列を表示』ブロックを選択します。(原文では、ブロック種類選択メニュー『基本』にある『文字列を表示』ブロックを使用)
1-2.ワークスペースの『文字列を表示』ブロックを、初めからワークスペースにある『最初だけ』ブロックに組み込みます。そして、メッセージを『シツモンシテ!』にしてください。注:半角カタカナで入力すること
1-3.マジック8ボールの『8』を表示するために、ブロック種類選択メニュー『基本』にある『数を表示』ブロックを選択して8を入力し、『最初だけ』ブロックのカタカナ表示ブロックの次に組み込んでください。
2-1.『シツモンシテ!』メッセージを表示して8を表示するまでできましたので、次は質問への答えを表示しなくてはいけません。そのために、ゆさぶられたときを使います。ブロック種類選択メニュー『入力』から『ゆさぶられたとき』ブロックを選択します。
2-2.このブロックは、ゆさぶられたとき以外に傾けたりとか、落としたときとか色々選べますが、このプログラムでは『ゆさぶられたとき』のままにしておきます。
2-3.ワークスペースは、以下のようになっています。
2-4.8が表示されたままですので、それを消すためにブロック種類選択メニュー『基本』の『さらに表示』の中から『表示を消す』ブロックを選択します。
2-5.『表示を消す』ブロックを、『ゆさぶられたとき』ブロックに組み込みます。
3-1.Micro:bitがゆさぶられたときに、反応するようにプログラムしました。次は乱数を保管するための変数を作ります。ブロック種類選択メニュー『変数』から『変数を追加する』をクリックします。
3-2.変数名を入力するメニューが表示されるので、『uranai』と入力してOKをクリックします。
3-3.Micro:bitがふられたら、ランダムな数字を変数『uranai』に保管します。そのために、ブロック種類選択メニュー『変数』から『変数を0にする』ブロックを選択します。
3-4.ワークスペースの『変数を0にする』ブロックを、『ゆさぶられたとき』ブロックの『表示を消す』ブロックの下に組み込みます。
3-5.『変数を0にする』ブロックの変数を『uranai』に変更します。
4-1.Micro:bitをゆさぶると、変数『uranai』に0が保管されるところまでできました。次は変数『uranai』に乱数を保管する必要があります。そのために、ブロック種類選択メニュー『計算』から『0から4の範囲の乱数』ブロックを選択します。
4-2.ワークスペースの『0から4の範囲の乱数』ブロックを、『uranaiを0にする』ブロックの0のところに組み込み、4を2に変更します。3種類(0,1,2)の占い結果を表示したいためです。
5-1.次に、ブロック種類選択メニュー『論理』から『もし…なら…でなければ』ブロックを選択します。
5-2.ワークスペースの『もし…なら…でなければ』ブロックを、『ゆさぶられたとき』ブロックの『uranaiを0から2の範囲の乱数にする』ブロックの下に組み込みます。
5-3.0,1,2の3つの条件を比較するため、『もし…』ブロックの歯車アイコンをクリックして『でなければもし』ブロックを追加します。
5-4.『もし…』の条件をチェックするために、ブロック種類選択メニュー『論理』から『0=0』ブロックを選択します。
5-5.『0=0』ブロックを『もし…』に組み込みます。
6-1.最初の『もし…』でチェックするのは、変数『uranai』なので、ブロック種類選択メニュー『変数』から変数『uranai』を選択します。
6-2.変数『uranai』を、『もし…』の右の『0=0』の左に組み込み、右の0を2に変更します。
6-3.『uranai=2』ブロックを右クリックして表示されるメニューから『複製する』をクリックしてコピーし、そのブロックを『でなければもし』の右に組み込み、2を1に変更します。
7-1.これで乱数(2,1,0)によって、3つの選択肢ができました。次に、質問に対する答を準備します。そのために、ブロック種類選択メニュー『カタカナ』から『文字列を表示』ブロックを選択します。(注:原文ではブロック種類選択メニュー『基本』から『文字列を表示』ブロックを選択)
7-2.ワークスペースの『文字列を表示』ブロックを右クリックして表示されるメニューから『複製する』をクリックして3つにします。それぞれのブロックのメッセージを、『ハイ』、『イイエ』、『ワカリマセン』に変更し『なら…』を『でなければ』の右に組み込みます。
7-3.質問に対する答を表示し終えたら、マジック8ボールの8を表示するために、『最初だけ』ブロック内の『数を表示8』ブロックを複製して、『ゆさぶられたとき』ブロック内の最後に組み込みます。
これで『マジック8ボール』プログラムは完成です。
これでレッスンは終了ですが、チャレンジとして以下が紹介されていますので、挑戦してみてください。
- 他の答を追加する
- Micro:bitがゆさぶられたとき、答を表示する前に考えている様子をアニメーションで表現する
解答例はこちらの記事にあります。
訳者注:当サイトでは、マイクロビットホームページにあるレッスンを順次紹介しています。私の注意不足で紹介順が適切ではありませんでした。以下の順で見ていただけるとマイクロビットのホームページのレッスン順になります。1部、2台のマイクロビットが必要なレッスンは、現時点未紹介です。
micro:bit(マイクロビット)で学ぶ 1→micro:bit(マイクロビット)で学ぶ 2『温度のアクティビティー』→19『アンサリングマシン』→20『数当てゲーム』→ 5『サイコロ』→ 6『トゥルース・オア・デア』→当記事→21『ラブメーター』→3『じゃんけんゲーム1』→4『じゃんけんゲーム2』→7『マジックボタン』→無線の紹介→シリアル通信の紹介
最後まで記事をお読みいただきありがとうございます。
記事の改善に役立てたいと思いますので、よろしければアンケートにご協力ください。
コメントを書く