micro:bit でサイコロを作ろう

プログラミング

前回micro:bitについて紹介し、その後自分でもチュートリアルを全て終わらせて「サイコロ」のチュートリアルは折角だからサイコロの形にならないかな?と思い改造してみましたのでその方法を紹介します。

まずはチュートリアルを復習

まずはチュートリアルで作成したサイコロを再現します。(チュートリアルをそのまま改造しようとしてもブロックが制限されているので新しいプロジェクトで作成しましょう)

「入力」の「『ゆさぶられた』の時」ブロックに「基本」の「数を表示『0』」ブロックを入れ、『0』の部分に「計算」の「『0』から『10』までの乱数」ブロックを入れて『0』を『1』に、『10』を『6』に変更してチュートリアルの「サイコロ」を再現します。

チュートリアルの再現

ここから「変数」と「論理」の「条件判断」、「くらべる」および「基本」の「LED画面に表示」を使って改造していきます。

変数の追加

まずは変数を追加します。

変数とは数値や文字列などの値を入れる入れ物で値を入れたり出したりするために使います。

チュートリアルの「サイコロ」では「数を表示」ブロックで「『1』から『6』までの乱数」ブロックを直接使っていましたが今回はこの乱数の結果をこれから作る変数の中に入れ、その値を使って数を表示してみましょう。

「変数」の「変数を追加する…」をクリックし、「サイコロの目」という名前の変数を作ります。

「変数」の「変数を追加する…」をクリック
変数名を「サイコロの目」にして「OK」をクリック

変数が追加されると新しく変数に関するブロックが追加されます。

「サイコロの目」に関するブロックが追加される

「変数」の「変数『サイコロの目』を『0』にする」ブロックを「数を表示」ブロックの上に挿入し、「数を表示」ブロックの「『1』から『6』までの乱数」ブロックを「変数『サイコロの目』を『0』にする」ブロックの『0』へ移動します。

「サイコロの目」に1から6までの乱数を代入

「数を表示『0』」ブロックの『0』には「変数」の「『サイコロの目』」ブロックを入れます。

「サイコロの目」を表示

これで変数を使ったチュートリアルの「サイコロ」は完成です。

サイコロの目を作る

LEDの表示をサイコロの目を作成します。

「基本」の「LED画面に表示」をクリックし、サイコロの目の「1」を作ります。

「基本」の「LED画面に表示」 をクリック

「1」は中心が1つだけ光るようにします。

サイコロの目の「1」は中心が1つだけ光る

同様にサイコロの目の「2」も作ります。
「2」は右上と左下の2つだけ光るようにします。

サイコロの目の「2」は右上と左下の2つだけ光る

この調子で「6」まで作成します。

サイコロの目の「3」は「1」と「2」の組み合わせ
サイコロの目の「4」は4スミの4つ光る
サイコロの目の「5」は「1」と「4」の組み合わせ
サイコロの目の「6」は「4」に左右それぞれ真ん中の2つ光る

これで表示するサイコロの目は完成です。

分岐を作る

1から6までの乱数結果を入れる入れ物の「変数」と表示するサイコロの目は完成しました。
次はこの乱数結果に相当するサイコロの目を表示するための分岐を作成します。

「論理」の「条件判断」をクリックし、「+」(実際には○の中に+の記号)をクリックしてブロックが全部で6個入るように拡張します。

「論理」の「条件判断」をクリック
「+」(実際には○の中に+の記号)をクリックしてブロックが全部で6個入るように拡張

それぞれの分岐に先ほど作成したサイコロの目(「LED画面に表示」ブロック)を入れます。

分岐にサイコロの目を入れる

このままでは1つ目のサイコロの目しか出ないため、変数の内容により分岐するように条件を指定します。
「論理」の「くらべる」の中から「『0』『=』『0』」をクリックし、ブロックを分岐の1つ目の『真』に入れます。

「論理」の「くらべる」の中から「『0』『=』『0』」をクリック
くらべるブロックを分岐の1つ目の『真』に入れる

左側の『0』に「変数」の「『サイコロの目』」を入れ、右側の『0』を『1』に変更します。

くらべるブロックを「サイコロの目」と「1」に変更

同じ要領で『2』から『5』まで行います。(『6』はそれまでに分岐しなかった「でなければ」になるので条件は不要です)

同様に2~5までくらべるブロックを作成して配置

これで分岐によりLEDの表示をサイコロの目にする部分が完成しました。

「数字」から「サイコロの目」に変更

分岐によりLEDの表示をサイコロの目にする部分が完成したので実際に「数字」の表示から「サイコロの目」の表示に変更してみましょう。

「数を表示」ブロックを外し、代わりに先ほど作成した「条件判断」ブロックを入れます。

「数を表示」ブロックを外す
代わりに作成した「条件判断」ブロックを入れる

出来たらシミュレーターの「SHAKE」を何度か押してみてください。
正しくプログラムが出来ていればランダムでサイコロの目がLEDで表示されます。

「SHAKE」を何度かクリックしてランダムでサイコロの目がLEDで表示される事を確認

まとめ

これで「変数」と「論理」の「条件判断」、「くらべる」および「基本」の「LED画面に表示」を使ってチュートリアルの改造が完成しました。

「基本」の「LED画面に表示」はチュートリアルの「点滅するハート」で使った物なので問題無かったと思います。

新しく出てきた「変数」と「論理」はチュートリアルに出てこなかったので今回使ってみてどんなものか分かったと思います。
色々なプログラムを組みたいと思うとこの2つはかなり必要になると思うので更なる改造などして理解を深めてみましょう。

次回はこのプログラムを使って関数について紹介します。

コメント

タイトルとURLをコピーしました