コドモニ
MENU

#3 音が出る占い・親子で楽しむビジュアルプログラミング

カテゴリ:micro:bit, 自宅で学ぶ

#3 音が出る占い・親子で楽しむビジュアルプログラミング

前回(#2 micro:bit LEDに文字を表示する・親子で楽しむビジュアルプログラミング)で、はじめてのmicro:bitでのプログラミング~LED表示を行いました。
3回目の今回はもう少し複雑なプログラミングと、外部の機器(スピーカー)を接続してそちらも動作させてみます。

スピーカーとの接続は上の写真のようにクリップで挟むだけです。

プログラミングを始める前に、前回の「下準備」は済ませておいてください。

音の出る占いゲームをつくってみよう

プログラミングの流れを考えてみる

どのような動きを実現したいか言葉で考えてみます。

micro:bitにはAボタンとBボタンの2つのボタン(入力)がついています。

今回はAボタンが押されたときに、1.大吉、2.中吉、3.小吉、4.凶のいずれか1つが選択されて占う仕組みとします。
サイコロのように決まった範囲の数字がランダムで選ばれることを乱数といいます。

全体の流れを書き出してみましょう。

Aボタンが押されたら以下の処理を実行
1.サイコロ(乱数)をふって0~3までの数字を選ぶ(プログラミングの世界では最初は1ではなく0です。)
2.サイコロふって出た数字がもし0なら「アイコンを表示」した後に「音を鳴らす」
3.サイコロふって出た数字がもし1なら「アイコンを表示」した後に「チュウキチを表示」する
4.サイコロふって出た数字がもし2なら「アイコンを表示」した後に「ショウキチを表示」する
5.サイコロふって出た数字がもし3なら「アイコンを表示」した後に「音を鳴らす」

です。

表示するアイコンのパターン(LED)や鳴らす音はすでにmicro:bit(MakeCode)に用意されているものを利用します。
大吉であれば楽しい音を、凶であれば悲しい音を鳴らすなど、パターンはいろいろ楽しめます。

ポイント1:変数

変数

赤いエリアの「変数 [占い]をランダムな数字を選択:0~3までにする」の変数とはなんでしょうか。
整数は算数で習いますが、変数とはあまり聞きなれない言葉ですね。

変わる数?というちょっと難解な言葉ですが、プログラミングでは必須の考え方です。

「変数」は文字や数値などの値を一時的に入れておくための箱と考えます。

今回、ランダムで数字を0~3の間で選択しますが、その数字をどこかにしまっておいて、後でその数字を使ってアイコンを表示したり、音を鳴らしたりします。
あとあと使えるように「占い」という変数を用意して、変数「占い」に数字を入れておきます。

ポイント2:乱数(ランダム)

決まった数字などの範囲でランダムに数字を選択するという機能は多くのプログラミング言語で用意されています。

MakeCodeでも使われているJavaScriptでは
randint(0, 3)
と書くことができます。

分解してみるとなんとなく分かりますが、
rand(ランダム)
int(数字)
(0, 3)(0~3までの間)
と読むことができます。

Webサイト(ホームページ)の制作に使われるPHPというプログラミング言語では
rand(0,3)
と表します。

似ていますが、言語によって違いがありますね。

プログラミング言語には事前に用意された様々な機能(関数)が用意されており、これらを組み合わせて複雑なプログラミングを作成していきます。

ポイント3:条件分岐(もし~なら)

乱数(ランダム)に選択された数字を変数「占い」にいれておき、その変数「占い」の数によって、LEDの表示や鳴らす音を変えていきます。

この「もし、数字が1であったら」という処理を、条件分岐(条件判断)とも呼びます。
多くのプログラミング言語では英語そのままにifを使って書き表すことが多いです。

「もし~なら」の処理は機能ブロックの「論理」ブロックから利用することができます。

それでは、プログラミングを完成させていきましょう。

文字列の表示は10才の男の子が少し変えてみたようです。

カタカナを表示するには「高度なブロック」の「拡張機能」から「katakana」で検索し追加することができます。
ただ、プロジェクトごとに追加する必要がありますので、不要な場合は英語で対応してもOKです。