初歩的なプログラミングで実装できるmicro:bitを使って、自作の「ルーレットゲーム」を作って遊んでみましょう。実際にサンプルで用意したプログラムデータも無償で公開中です。
1. micro:bitで自作ルーレットゲームを作る
micro:bitで「ルーレットゲーム」を作ろう
「micro:bit(マイクロビット)」は小型のコンピューターで、イギリスのBBC(英国放送協会)が中心となって情報教育向けに開発されました。2016年からは、イギリスだと7年生全員(日本では中学1年生に相当)にmicro:bitが配布されています。2020年度に入り、日本でもプログラミング教育が開始。初心者に扱いやすい小型のコンピューターとして、親子で取り組みやすいmicro:bitへの注目度が高まっています。
micro:bitのメリットは、Microsoft提供の「MakeCodeエディター」を使って、ブロックを用いた初歩的なプログラミングができる点。この利点を活かして、ここではMakeCodeエディターをベースに、micro:bitを使った自作ルーレットゲームを作ります。
まずは今回の完成イメージをご覧ください。
micro:bitは、左にAボタン、右にBボタンがあります。これらを利用します。
micro:bit で左のAボタン(ここでは「スタート」と書いたボール紙を貼っています)を押すと、クルクルとルーレットがスタートして、回り出します。
右のBボタン(ここでは「ストップ」と書いたボール紙を貼っています)を押すとストップして、「1~9の数字がランダムに現れる」というゲームを作りましょう。
「自作ルーレットゲーム」のための材料を用意する
1 段ボールまたは、ボール紙(ボタン用)
2 USBケーブル
3 モバイルバッテリー
4 micro:bit
これら4点と、作業用の任意のパソコンを用意してください。
1.段ボールは、ボタンとして使います。厚紙など手ごろな紙類でも大丈夫です。
2.USBケーブルは、短いものが使いやすいでしょう。
3.micro:bitは、あまり電力を使わないため、モバイルバッテリーによっては「省電力OFF機能」が働いてしまうことがあります。そうなると、ずっと起動し続けられません。モバイルバッテリーは、省電力OFF機能がなく、スイッチのON/OFFで電源が管理できるものを選ぶといいでしょう。
「省電力OFF機能」がないバッテリーではなく「省電力OFF機能」が働くバッテリーを使うと、あまり電力を使わない状態を「まったく電力を使わない状態」と捉えて、電源が自動でOFFとなる可能性があります。micro:bitの常時起動ができず、ルーレットゲームができなくなるので、モバイルバッテリー選びには気をつけましょう。
4.micro:bitの入手先は、いろいろとありますが初めての人でも特に迷うことなく入手できるでしょう。
micro:bitをPCにつなぐ
PC作業は、Windows 10をベースに進めます。まず、microUSBケーブルでmicro:bitとPCのUSBポートをつなぎます。
つないだmicro:bitは、コンピューター上では「MICROBIT」という名前のドライブとして表示されます。
microbitのプログラムを作る
micro:bitは、ブラウザだけで簡単にプログラムを作ることができます。micro:bitのWebサイトには、ブラウザ上で操作できるエディター「MakeCodeエディター」が用意されているので、Webサイトにアクセスしてみましょう。
“Microsoft MakeCode for micro:bit”.micro:bit.
https://makecode.microbit.org/
上のようにプロジェクトページが表示されます。ここで新しいプロジェクトを作って、 micro:bitを動かすプログラムファイルを作ることができます。
プログラムファイルをシェアする
今回は、あらかじめ筆者が作ったプログラムを用意してあります。いきなりゼロからプログラム作りをせず、初めての人ほど、まずは完成したプログラムを見て仕組み作りの考え方をつかみましょう。
筆者が作ったプログラムを取り込んで、動かしてみます。今回用のサンプルページにアクセスします。
“ルーレットゲーム”.Microsoft MakeCode.2020.
https://makecode.microbit.org/27992-44864-94491-83893
アクセスしたら、「ルーレットゲーム」と書かれたタイトルの右にある、グレーの「Edit Code」ボタンを押してください。
すると、自分のMakeCodeエディターにプログラム「ルーレットゲーム」が読み込まれます。
筆者が用意したプログラム以外にも、micro:bitでは世界中のさまざまな人たちが作ったプログラムを手軽にシェアして使えます。それもmicro:bitの魅力です。プログラムを読み込まない場合は、自分でブロックを使ってプログラムを作ります。
ルーレットゲームのプログラムファイルをダウンロードする
筆者が用意したプログラム「ルーレットゲーム」は、このままの状態で動きますので、ダウンロードして試してみましょう。MakeCodeエディターの左ペイン下にある紫の「ダウンロード」ボタンを押します。
MICROBITのドライブに保存したら、micro:bitにプログラムを反映させます。
ダウンロード後のmicro:bitを動作確認
micro:bitをモバイルバッテリーにつないで、「ルーレットゲーム」を試します。下の画像のようにつなぎ、起動して、その場で四角マークが表示されていたらOKです。
左のAボタンを押すと、クルクルとルーレットがスタートし、回り出します。
右のBボタンを押すと、「GET!」という文字が出てストップし、1〜9の数字がランダムで表示されます(下の画像では「3」が表示されています)
以上で動作が確認できました。
micro:bitにボタンを取り付ける
ここからは、ルーレットゲーム用のボタンを作ります。段ボールをハサミで切って、任意の形で2つ分を用意します。
これらは「スタート」と「ストップ」ボタンに使います。
micro:bit にマスキングテープでボタンを巻き付けます。
横から見たボタンの貼り付け状況です。あまりキツく巻きすぎると、ボタンが押されっぱなしになります。誤作動の原因になるので、ほどよい巻き付け方にしましょう。
左にスタートボタン、右にストップボタンを巻き付けた状態です。
モバイルバッテリーとmicrobitをUSBケーブルでつなぎます。
マスキングテープでUSBケーブルもずれないように、モバイルバッテリーに固定したら完了です。
この状態で電源をつけてみます。
スタートボタンを押して、ルーレットを始めます。
ストップボタンを押して、ランダムに数字が表示されます。この画像では「5」を表示しています。
例えば、自分と友だちで5回ずつ押してみます。合計した数がどちらが大きいかを競争したり、どちらが早く狙った数を出せるかなど、遊び方も考えながら作れると楽しいでしょう。
※電子部品と紙を使った工作を組み合わせて使用する際は電子部品の発熱による発火などに充分注意してください。
2. ブロックエディターでプログラムを調整する
「9」が出ると、音符記号が表示されるようにする
ここからはブロックの組み方を学ぶためにも、少しブロックの中身を発展させてみましょう。ここではBボタン(ストップボタン)で数字を決めるためのプログラムに着目します。該当箇所は、以下のようにブロックで組まれています。
そこで、ランダムで数字が表示されるだけで終わりとせず、1〜9の中で最大の「9」が出たときは「お祝い」として「♪」記号が出るように、設定を変更することとします。
以下に、編集を前提にしたプログラムのサンプルページを用意したので、アクセスしましょう。
“ルーレットゲーム2”.Microsoft MakeCode.2020.
https://makecode.microbit.org/97990-20189-67452-32313
アクセス後のUIです。
「ルーレットゲーム2」の横にある「Edit Code」ボタンを押して、自分のMakeCodeエディターにプログラム「ルーレットゲーム2」を読み込みます。
では、元の状態(Bボタンが押されると、1〜9がランダムに表示される)に、「9が出た場合、♪が表示される」という条件を加えることにしましょう。追加の条件を加えた状態が以下です。
カスタマイズしたブロックの解説
新たに組んだブロック群が、MakeCodeエディターのどのツールボックスにあるかを解説します。
まず「ボタンBが押されたとき」ブロックで全体を囲んでいます。このブロックは、ツールボックスの「入力」から選んでいます。つまり、「ボタンBが押されたとき」のブロックで囲んだ内容が、ボタンBを押したときに生じるという状態になっています。
「ボタンBが押されたとき」ブロック内の構成について、上から順番に解説します。
「変数 loopを0にする」ブロックは、ツールボックスの「変数」から選んだブロックです。Bボタンが押されたとき、「0」が表示されていると以下に続くブロックの内容がループする(繰り返す)ことを意味します。
「文字列を表示」ブロックは、「基本」から選んでいます。ここでは「GET!」の表示をしています。
「変数 resultを●●●にする」ブロックでは、result(結果)の内容について、さらにツールボックスの「計算」から「ランダムな数字を選択」ブロックを選んで、条件を指定しています。
その下の「数を表示」ブロックは「基本」から選び、その数についてはツールボックスの「変数」より「result」という変数を指定。
その次は、ツールボックスの「論理」から「もし●●●なら」ブロックを指定。●●●にあたる内容を、変数「result」ブロック=「9」とします(ここまでが「もし結果が9なら」)。次の行では(9が出た場合に何をするかを指定)、ツールボックスの「基本」から「アイコンを表示」ブロックを選択。表示の内容を「♪」と指定します。
ツールボックスの機能別の内容や動き方は、慣れるまでは戸惑うブロックもあるかもしれません。実際にブロックを構築しながら慣れてくることで、徐々に使いこなせるようになるでしょう。
屋号:ワンフットシーバス
2004年よりフリーランス。最近ではWebフロントエンドをベースに、情報とインターフェイスが合わさる視点で、IoTやVRといった技術も取り入れ活動中。