加速度センサーでじゃんけんゲームを作ろう
できること:micro:bitをゆさぶると、LED にグー、チョキ、パーがランダムに出てきます。 micro:bitとじゃんけんしてみましょう。
プログラムを組もう
今までのチュートリアルの「プログラムを組もう」の項目と同様に、「プロジェクト」をクリックし、「新しいプロジェクト…」をクリックしてください。
「名称未設定」のところを「acc」に変えてください。
前回までと同様の手順で、下の写真の通り、ブロックを組み立ててください。下の「新しいブロック」や「ポイント」の項目も参考にしてみてください。
※「LEDに表示」ブロックは上から「パー」「グー」「チョキ」を表しています。
新しいブロック
今回のプログラムは新しいことがたくさん出てきます。意味が分からないところも出てくるかもしれませんが、まずは気にせず、とにかく最後まで組み立てて動かしてみましょう。動かしたあと、最後の「micro:bitで何が起こっているか日本語で説明してみよう」のところを読んでみて、何が起こっているか考えてみましょう。
「ゆさぶられたとき」ブロック
ツールボックスの「入力」の中にあります。「変数itemを0にする」ブロック
まず、変数「item」を作らなくてはいけません。変数の作り方は、下の「ポイント」項目で説明しています。手順に従って作ってみましょう。
変数「item」を作ったら、ツールボックス「変数」の中に「変数itemを0にする」ブロックが現れます。
「0」の部分を他の数字に変えることができます。また、ブロックを組み込むこともできます。今回は「0から10までの乱数」ブロックを組み込みました。
「もし/なら/でなければもし/なら/でなければ」ブロック
「もし/なら/でなければもし/なら/でなければ」ブロックはそのままではどこにも見つかりません。ツールボックスの「論理」の中にある「もし/なら/でなければ」ブロックを使います。
下の「ポイント」の項目で「もし/なら/でなければもし/なら/でなければ」ブロックの作り方を説明しました。その手順に従って、作ってみましょう。「0=0」ブロック
ツールボックスの「論理」の中にあります。=を挟んで左側の数字と右側の数字を比べます。「item」ブロック
ツールボックスの「変数」の中に入っています。今回のプログラムでは、「0=0」ブロックの左側の0の部分に組み込みました。
ポイント
変数ブロックの作り方
ツールボックス「変数」の中にある、「変数を追加する…」を選択します。
作成したい変数名(今回は「item」)を入力し、「OK」ボタンを押します。
ツールボックス「変数」の中に、変数「item」ブロックが追加されました。
「もし/なら/でなければもし/なら/でなければ」ブロックの作り方
「もし/なら/でなければ」ブロックをドラッグアンドドロップしてプログラミングエリアの「変数itemを〜にする」ブロックの下につないでください。
「もし/なら/でなければ」ブロックの左下にある+マークをクリックしてください。
「もし/なら/でなければもし/なら/でなければ」ブロックのできあがりです。
シミュレーターで確認してみよう
エディターのシミュレーターを見ると、ボタンBの上に「●SHAKE」という文字が現れているはずです。この「●SHAKE」は「ゆさぶられたとき」ブロックを使うブロックを使ったときに現れます。シミュレーターのmicro:bitをゆさぶることはできませんので、「●SHAKE」の「●」の部分をクリックすることでゆさぶったことになります。
下の写真ではチョキが表示されています。
micro:bitで動かしてみよう
micro:bitにプログラムをダウンロードしましょう。これで準備は万端です。
使い方
- 片方の手にmicro:bitを持ちます。
- micro:bitを振ると同時に、もう片方の手でじゃんけんしてみましょう。
- どっちが勝ちましたか??
ポイント
加速度とは「速度の変化の度合い」ということです。少し難しいですが、速度と加速度は全然ちがいます。激しく振りつづけていると速度は大きくなりますが、加速度は特に大きくなりません。止まっているところから急に振り下ろしたり、逆に早く動いているものを急に止めたりすると加速度は大きくなります。
一人じゃんけんも楽しいですが、他の人のmicro:bitにも同じプログラムを読み込ませて、micro:bit同士でじゃんけんしてみても面白そうですね。
micro:bitで何が起こっているか日本語で説明してみよう
このプログラムを書き込んだmicro:bitをゆさぶると、micro:bitはまず「item」という名前のお皿を用意します。そのお皿には最初は何ものっていません。その後、0か1か2の中からランダムに数字を選び、itemという名前のお皿にのせます。0をのせたときはLEDにパーを、1をのせたときはグーを、2をのせたときはチョキを表示します。