加速度センサーでじゃんけんゲームを作ろう

できること:micro:bitをゆさぶると、LED にグー、チョキ、パーがランダムに出てきます。 micro:bitとじゃんけんしてみましょう。

プログラムを組もう

  1. 今までのチュートリアルの「プログラムを組もう」の項目と同様に、「プロジェクト」をクリックし、「新しいプロジェクト…」をクリックしてください。
  2. 「名称未設定」のところを「acc」に変えてください。

  3. 前回までと同様の手順で、下の写真の通り、ブロックを組み立ててください。下の「新しいブロック」や「ポイント」の項目も参考にしてみてください。

    ※「LEDに表示」ブロックは上から「パー」「グー」「チョキ」を表しています。

新しいブロック

今回のプログラムは新しいことがたくさん出てきます。意味が分からないところも出てくるかもしれませんが、まずは気にせず、とにかく最後まで組み立てて動かしてみましょう。動かしたあと、最後の「micro:bitで何が起こっているか日本語で説明してみよう」のところを読んでみて、何が起こっているか考えてみましょう。

  1. 「ゆさぶられたとき」ブロック

    ツールボックスの「入力」の中にあります。
  2. 「変数itemを0にする」ブロック

    ツールボックスの「変数」の中にあります。「0」の部分を他の数字に変えることができます。また、ブロックを組み込むこともできます。今回は「0〜4範囲の乱数」ブロックを組み込みました。

  3. 「もし/なら/でなければもし/なら/でなければ」ブロック
    「もし/なら/でなければもし/なら/でなければ」ブロックはそのままではどこにも見つかりません。ツールボックスの「論理」の中にある「もし/なら/でなければ」ブロックを使います。

    下の「ポイント」の項目で「もし/なら/でなければもし/なら/でなければ」ブロックの作り方を説明しました。その手順に従って、作ってみましょう。
  4. 「0=0」ブロック

    ツールボックスの「論理」の中にあります。=を挟んで左側の数字と右側の数字を比べます。
  5. 「item」ブロック

    ツールボックスの「変数」の中に入っています。今回のプログラムでは、「0=0」ブロックの左側の0の部分に組み込みました。

ポイント

「もし/なら/でなければもし/なら/でなければ」ブロックの作り方

  1. 「もし/なら/でなければ」ブロックをドラッグアンドドロップしてプログラミングエリアの「変数itemを〜にする」ブロックの下につないでください。

  2. 「もし/なら/でなければ」ブロックの左上にある青い歯車マークをクリックしてください。下の写真のような吹き出しがあらわれます。

    この吹き出しの左側の灰色の部分はツールボックス、右側の白色の部分はプログラミングエリアになっています。これらを「吹き出しツールボックス」、「吹き出しプログラミングエリア」と呼びます。吹き出しプログラミングエリアでブロックを組み替えると、この「もし/なら/でなければ」ブロックを少し変更することができます。
  3. 吹き出しプログラミングエリアにある「else」ブロック消してください。消し方はいつもどおり、吹き出しツールボックスへドラッグアンドドロップしてください。

  4. 吹き出しツールボックスにある「else if」ブロックを、吹き出しプログラミングエリアにある「if」ブロックにつないでください。

  5. さらに「else」ブロックをつないでください。

  6. 青い歯車マークをクリックすると、吹き出しが閉じて「もし/なら/でなければもし/なら/でなければ」ブロックのできあがりです。

シミュレーターで確認してみよう

エディターのシミュレーターを見ると、ボタンBの上に「●SHAKE」という文字が現れているはずです。この「●SHAKE」は「ゆさぶられたとき」ブロックを使うブロックを使ったときに現れます。シミュレーターのmicro:bitをゆさぶることはできませんので、「●SHAKE」の「●」の部分をクリックすることでゆさぶったことになります。

下の写真ではチョキが表示されています。

micro:bitで動かしてみよう

今までのチュートリアルの「micro:bitで動かしてみよう」の項目と同様に、ダウンロードしてMICROBITにコピーし、micro:bitのリセットボタンを押してください。これで準備は万端です。

使い方

  1. 片方の手にmicro:bitを持ちます。
  2. micro:bitを振ると同時に、もう片方の手でじゃんけんしてみましょう。
  3. どっちが勝ちましたか??

ポイント

加速度とは「速度の変化の度合い」ということです。少し難しいですが、速度と加速度は全然ちがいます。激しく振りつづけていると速度は大きくなりますが、加速度は特に大きくなりません。止まっているところから急に振り下ろしたり、逆に早く動いているものを急に止めたりすると加速度は大きくなります。

一人じゃんけんも楽しいですが、他の人のmicro:bitにも同じプログラムを読み込ませて、micro:bit同士でじゃんけんしてみても面白そうですね。

micro:bitで何が起こっているか日本語で説明してみよう

このプログラムを書き込んだmicro:bitをゆさぶると、micro:bitはまず「item」という名前のお皿を用意します。そのお皿には最初は何ものっていません。その後、0か1か2の中からランダムに数字を選び、itemという名前のお皿にのせます。0をのせたときはLEDにパーを、1をのせたときはグーを、2をのせたときはチョキを表示します。