micro:bitでサイコロタイプの抽選マシンを作ってみた
1ヶ月ほど前に、私の書いた「見た目にこだわるJimdo入門」という本が発売され、先日著者からの書籍プレゼントキャンペーンをしたのですが、応募を締め切り抽選をするにあたり、抽選専用マシンをmicro:bitで作ることにしました。
まずは完成品の動画からお見せしましょう。
Aボタンを押すと、当選者の数字が効果音と共に表示されます。
応募者一覧には応募順に列番号を既にふってあるので、表示された番号の列を当選とすることにしました。
micro:bitで作ったプログラムはこちらです。
やりたいことは、「ボタンを押したら1〜応募者数(サンプルでは20件)までの数字をランダムに表示させる」です。サイコロのように毎回ランダムに数字が表示されます。
プログラムの内容を簡単に説明しましょう。
ボタンAが押されたとき
▽1行目のブロック
データの入れ物である「変数」を作って自分で好きな名前(ここでは「tousen」)をつけます。そこに0〜「19」までの間からランダムな数(乱数)を発生させてその数字を入れておきます。20まで表示させたいのになぜ「19」かというと、0も含まれるからです。0〜19を1〜20に見せる工夫はあとで(3行目)します。
▽2行目のブロック
「パワーアップ」という名前であらかじめ用意されているメロディを「1度だけ」鳴らします。
▽3行目のブロック
LEDで数を表示します。1行目で用意した変数「tousen」に入っている数字に1を足した数字を表示させます(0を表示させないようにするため、常に1を足した数字にする)。
ボタンBが押されたとき
LEDの表示を消します。
これで、1〜20までの数字がランダムにでるマシンの完成です。
プログラムの.hexファイルをダウンロードして、micro:bitに入れてあげれば動きます。
抽選ですから、音は演出上盛り上げたかったので入れています。
micro:bit自体にはスピーカーが内蔵されていないのですが、例で使ったmicro:bitには、スピーカーモジュールが接続してあるので、音を出せます。
これに例えば工作で、キャラクターのお腹にmicro:bitのLED部分が出るようにするなどしたら、演出としてはさらに盛り上がります。そういう見た目の演出は重要ですが、今回は省いています。
このプログラムの1行目の数字を「5」にすれば、1〜6の数字がでるサイコロとしても使えるので、いつものスゴロクがちょっと楽しくなりそうです。サイコロなら、「ボタンAが押されたとき」ではなく「ゆさぶられたとき」にすると、micro:bitをふるたびに音と共に新しい番号が出るのでさらに楽しくなるでしょう。他にも特殊サイコロとして1〜10が出るなどにしてもいいですね!!
知りたい!プログラミングツール図鑑:「micro:bit」
なお、本当にこのmicro:bitを使用して抽選を行い、当選の方への書籍の発送が無事完了しました。ご応募いただいたみなさま、ありがとうござました!!
[書籍情報:「見た目にこだわるJimdo入門」]