当サイトは2020年小学生のプログラミング必修化に関して、関連する情報を纏めています。

Micro:bit(マイクロビット)で学ぶ 6

Micro:bit(マイクロビット)で学ぶ 6

 

マイクロビットのホームページにあるレッスンを紹介したいと思います。英語版ですので、日本語で纏めてみました。今回は『トゥルース・オア・デア』を取り上げます。

当記事は、シリーズでマイクロビット(Micro:bit)のプログラミングについて紹介しています。初めての方はこちらをご覧ください。

『サイコロ』プログラムのチャレンジの解答例

記事『micro:bit(マイクロビット)で学ぶ 5』のチャレンジは、『サイコロの目を表示する前に、サイコロを振ったときのようにサイコロの目が色々変わる様子を追加する』でした。

以下に解答例を紹介します。

解答例:乱数によってサイコロの目を表示する前に、サイコロが転がる様子を関数『転がす』で追加しました。この関数を揺さぶられたときの乱数の次に組み込みます。他にも色々な方法があると思いますので、参考にしてください。

レッスン『トゥルース・オア・デア』

注:『トゥルース・オア・デア』とは、パーティーゲームの一つ。ゲームをする人が『トゥルース(本当のことを言う)』か『デア(挑戦する)』のどちらかを宣言します。『トゥルース』の場合は、他の参加者が答えにくい意地悪な質問(例:好きな人は誰?)をしても本当のことを言わないといけません。『デア』の場合は、他の参加者が難しいことをやれ(例:○○の歌真似をして)といわれたら、挑戦しないといけません。

2021年8月11日更新
ブロックエディターが新しくなりました。ブロックの外観が変わりましたが、使い方はほぼ同じです。当記事は今までのブロックエディター(V0)のブロックを基に記事を作成していますので、新しいブロックエディターのブロックと見た目が異なりますので、ご了承ください。今後、順次新しく追加されたブロック等に対応していきます。

まず、上の手順でブロックエディターを開いてください。もし、前に作成中のプログラムが表示された場合は、保存してから左上にある『プロジェクト』メニューをクリックして『新しいプロジェクト』をクリックしてください。最初は、『最初だけ』ブロックと『ずっと』ブロックだけがプログラミングエリアにあります。

12のレッスンがありますが、そこから『トゥルース・オア・デア』をやってみます。
microbit6-3

レッスン内容

このレッスンでは、ボタン入力の使い方を学び、LED表示を使って『トゥルース・オア・デア』ゲームを作ります。マイクロビットのAボタンを押して、『トゥルース』か『デア』か決めます。

 レッスン目標 

子供たちは、次のことができるようになります。

  • 自分で作ったパターンをLEDに表示する
  • ランダムな数字(乱数)を作る
  • 『もし…..なら….でなければ….(IF THEN ELSE)』ブロックを使う(条件処理)
  • 二つのプログラミングブロックを同時に実行する
  • ボタン入力を使うことができる

訳者注:原文では、LED表示が2回入っていましたので、翻訳ではボタン入力にしてあります。

ステップ1

このプログラムは、矢印を表示してマイクロビットが準備OKだと示して、ユーザーがAボタンを押すと、マイクロビットがランダムに『真実を言う』か『挑戦する』かメッセージを表示します。

訳者注:メッセージはカタカナ表示しかできませんので、プログラムでは『チョウセン』と『シンジツ』にしてあります。また、カタカナ表示ブロックを使うと、元々のプログラムでは上手く動作しないので、追加ロジックが入れてあります。手順中にその由補足します。

1-1.最初に矢印を表示するために、ブロック種類選択メニュー『基本』から『LED画面に表示』ブロックを選択します。『LED画面に表示』ブロック内のをクリックするごとにを繰り返しますので、以下のようにしてください。『最初だけ』と『ずっと』ブロックは新規プロジェクトを開くと最初からあります。以降のステップで使いますので、そのままにしてあります。
microbit6-1x

1-2.『LED画面に表示』ブロックをドラッグして、最初からある『ずっと』ブロックの内側にドロップします。
microbit6-2x

ステップ2

次は、ユーザーがボタンを押したら、ランダムなメッセージを表示する部分です。

2-1.ブロック種類選択メニューの『入力』から『ボタンAが押されたとき』ブロック選択します。
microbit6-3x

2-2.乱数を保存するための変数が必要ですので、ブロック種類選択メニュー『変数』から『変数を追加する…』ブロックを選択します。
microbit6-4x

2-3.変数名を入力するようメッセージが表示されますので、『ランダム』とします。
microbit6-5x

2-4.変数『ランダム』に乱数(0~1)を入れるためにブロック種類選択メニュー『変数』から『変数ランダムを0にする』ブロックを選択します。
microbit6-6x

2-5.『変数ランダムを0にする』ブロックをドラッグして、『ボタンAが押されたとき』ブロックの内側にドロップします。ワークスペースは以下のようになります。
microbit6-7x

ステップ3

3-1.Aボタンが押されたときに変数『ランダム』に乱数(0か1)を保存するために、ブロック種類選択メニュー『計算』から、『0~10までの乱数』ブロックを選択します。プログラミングエリアには以下のブロックがありますので、同じように並べてください。
microbit6-8x

3-2.『0~10までの乱数』ブロックをドラッグして、『変数ランダムを0にする』ブロックの0のところにドロップします。そして、『0~10までの乱数』ブロックの10を1にします。これで、0か1の乱数がランダムに保存されます。プログラミングエリアは以下のようになっています。
microbit6-9x

ステップ4

4-1.ブロック種類選択メニュー『論理』から、『もし…なら…でなければ…』ブロックを選択します。
microbit6-10x

4-2.『もし…なら…でなければ…』ブロックをドラッグして、『変数ランダムを0から1の乱数にする』ブロックの下にドロップします。ワークスペースは以下のようになります。
microbit6-11x

4-3.次に『もし…』ブロックで変数『ランダム』が0か1か比較するために、ブロック種類選択メニュー『論理』のくらべるから『0=0』ブロックを選択します。
microbit6-12x

4-4.『0=0』ブロックをドラッグして、『もし…』の右の真のところにドロップします。ワークスペースは以下のようになります。
microbit6-13x

ステップ5

5-1.ブロック種類選択メニュー『変数』から、変数『ランダム』ブロックを選択します。
microbit6-14x

5-2.変数『ランダム』ブロックをドラッグして、『0=0』ブロックの左の0のところにドロップします。これで、ランダムが0であれば『もし なら』のブロックを実行して、ランダムが1なら『でなければ』のブロックを実行します。ワークスペースは以下のようになります。
microbit6-15x

5-3.ランダムが0なら『シンジツ』のメッセージを表示して、ランダムが1なら『チョウセン』と表示することにします。カタカナ表示をするためには、カタカナ表示用のパッケージが必要です。以下の手順で追加してください。当手順は日本語版のみ

カタカナをLEDに表示できるようにする

標準のブロックエディターでは、英数字のみしか表示できませんが、カタカナ表示パッケージを追加することで、表示できるようになります。これから作る得点システムでカタカナが表示出来ると使いやすくなりますので、まずそのパッケージを追加します。なお、そのブロックを使ったプログラムを読み込むと、自動で追加されるようです。

1.エディターの右上にある歯車のようなアイコンをクリックし、開いたメニューから『拡張機能』を選択します。
microbit4-1x

2.『拡張機能』ウインドウが開きますので、『katakana』と検索ワードを入力して検索をクリックします。
microbit4-2x

3.検索結果が表示されますので、katakanaパッケージをクリックします。
microbit4-3x

4.ブロック種類『カタカナ』が追加されました。
microbit4-4

 

5-4.ブロック種類選択メニュー『カタカナ』から『文字列を表示“ ”』ブロックを選択します。ワークスペースは以下のようになります。
microbit6-16x

5-5.『文字列を表示” ”』ブロックの” ”の中に『シンジツ』と入力してください。『文字列を表示”シンジツ”』ブロックを右クリックして複写し、メッセージを『チョウセン』に変えます。それぞれをドラッグして、『なら』と『でなければ』の右にドロップしてください。ワークスペースは以下のようになります。
microbit6-17x

本来はこれで完成ですが、カタカナ表示できるようにした弊害だと思われますが、Aボタンを押した後メッセージが上手く表示できません。矢印とカタカナが交互に表示されるような動きとなり、メッセージが上手く読み取れません。推定原因ですが、英文字のメッセージ表示処理と『ずっと』ブロックの矢印表示処理は、 排他制御 💬(英文字メッセージ表示中は矢印表示しない)ができていますが、カタカナ表示処理はパッケージとして日本からの要望で追加していますので、うまく排他制御できていないと思われます。

以下の手順はプログラムで排他処理を追加しました。カタカナ表示中は矢印表示をやめるための処理追加です。カタカナ表示するときは、変数『ランダム』が0か1なので、矢印表示はそれ以外の時(プログラムでは9の時)だけ実行するようにしました。

ステップ6

6-1.ブロック種類選択メニュー『変数』から、『変数を0にする』ブロックを選択します。そのブロックの変数をランダムに変更してください。また、0を9に変更してください。それをドラッグして、『最初だけ』ブロックの内側にドロップします。ワークスペースは以下のようになります。
microbit6-18x

6-2.『最初だけ』ブロックの内側にドロップした『変数ランダムを9にする』ブロックを右クリックして複写し、そのブロックを『もし…なら…でなければ…』の下にドロップします。ワークスペースは以下のようになります。
microbit6-19x

6-3.ブロック種類選択メニュー『論理』から、『もし…なら…』ブロックを選択します。『show leds 矢印』ブロックを『もし…なら…』ブロックの内側に移動して、『もし…なら…』ブロックを『ずっと』ブロックに組み合わせます。ワークスペースは以下のようになります。
microbit6-20x

6-4.ブロック種類選択メニュー『論理』から、『0=0』ブロックを選択します。左の0は変数『ランダム』に、右の0は9に変更します。そのブロックをドラッグして、『もし』の右の真のところにドロップします。プログラム完成です。これで、カタカナ表示でも英語版同様に動きます。

チャレンジ

これでレッスンは終了ですが、チャレンジとして以下が紹介されていますので、挑戦してみてください。

  1. 何人のプレイヤーがいて、何番目がプレイしているか表示する
  2. 違う向きの矢印を追加する
  3. 矢印が回転するアニメーションを追加する
  4. 『シンジツ』か『チョウセン』が何回終わったかスコアを追加する

1については、次の記事で解答例を紹介します。

訳者注:当サイトでは、マイクロビットホームページにあるレッスンを順次紹介しています。私の注意不足で紹介順が適切ではありませんでした。こちらの目次記事を見ていただくか以下のリンクを参考にご覧ください。無線とシリアル通信についてはレッスンがありませんでしたので、作成しました。

micro:bit(マイクロビット)で学ぶ 1micro:bit(マイクロビット)で学ぶ 2『温度のアクティビティー』19『アンサリングマシン』20『数当てゲーム』5『サイコロ』→当記事→8『マジック8ボール』21『ラブメーター』3『じゃんけんゲーム1』4『じゃんけんゲーム2』7『マジックボタン』無線の紹介シリアル通信の紹介


最後まで記事をお読みいただきありがとうございます。
記事の改善に役立てたいと思いますので、よろしければアンケートにご協力ください。

記事内容についてお伺い


    良く解る解る解りにくい部分がある解りにくい 


     

    マイクロビットカテゴリの最新記事