前回micro:bitについて紹介し、その後自分でもチュートリアルを全て終わらせて「サイコロ」のチュートリアルは折角だからサイコロの形にならないかな?と思い改造してみましたのでその方法を紹介します。
まずはチュートリアルを復習
まずはチュートリアルで作成したサイコロを再現します。(チュートリアルをそのまま改造しようとしてもブロックが制限されているので新しいプロジェクトで作成しましょう)
「入力」の「『ゆさぶられた』の時」ブロックに「基本」の「数を表示『0』」ブロックを入れ、『0』の部分に「計算」の「『0』から『10』までの乱数」ブロックを入れて『0』を『1』に、『10』を『6』に変更してチュートリアルの「サイコロ」を再現します。

ここから「変数」と「論理」の「条件判断」、「くらべる」および「基本」の「LED画面に表示」を使って改造していきます。
変数の追加
まずは変数を追加します。
変数とは数値や文字列などの値を入れる入れ物で値を入れたり出したりするために使います。
チュートリアルの「サイコロ」では「数を表示」ブロックで「『1』から『6』までの乱数」ブロックを直接使っていましたが今回はこの乱数の結果をこれから作る変数の中に入れ、その値を使って数を表示してみましょう。
「変数」の「変数を追加する…」をクリックし、「サイコロの目」という名前の変数を作ります。


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

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

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

これで変数を使ったチュートリアルの「サイコロ」は完成です。
サイコロの目を作る
LEDの表示をサイコロの目を作成します。
「基本」の「LED画面に表示」をクリックし、サイコロの目の「1」を作ります。

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

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

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




これで表示するサイコロの目は完成です。
分岐を作る
1から6までの乱数結果を入れる入れ物の「変数」と表示するサイコロの目は完成しました。
次はこの乱数結果に相当するサイコロの目を表示するための分岐を作成します。
「論理」の「条件判断」をクリックし、「+」(実際には○の中に+の記号)をクリックしてブロックが全部で6個入るように拡張します。


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

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


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

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

これで分岐によりLEDの表示をサイコロの目にする部分が完成しました。
「数字」から「サイコロの目」に変更
分岐によりLEDの表示をサイコロの目にする部分が完成したので実際に「数字」の表示から「サイコロの目」の表示に変更してみましょう。
「数を表示」ブロックを外し、代わりに先ほど作成した「条件判断」ブロックを入れます。


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

まとめ
これで「変数」と「論理」の「条件判断」、「くらべる」および「基本」の「LED画面に表示」を使ってチュートリアルの改造が完成しました。
「基本」の「LED画面に表示」はチュートリアルの「点滅するハート」で使った物なので問題無かったと思います。
新しく出てきた「変数」と「論理」はチュートリアルに出てこなかったので今回使ってみてどんなものか分かったと思います。
色々なプログラムを組みたいと思うとこの2つはかなり必要になると思うので更なる改造などして理解を深めてみましょう。
次回はこのプログラムを使って関数について紹介します。
コメント