サイコロ

JavaScriptブロックエディタを使ってサイコロを作ってみよう

  • Get started
  • JavaScript Blocks
  • Inputs
  • Random
  • Variables
Print lesson
  • 年齢 8+
  • 30 分
  • JavaScript Blocks

はじめに

このレッスンでは、条件分岐『もし…..なら….でなければ….』ブロックの使い方と、個々のLEDの制御の仕方を学びます。

先生用ガイド

開く

アクティビティ

全5ステップ

ステップ 1

マイクロビットを振ったらサイコロの目を表示するプログラムを作ります。JavaScriptブロックエディタで、ブロック種類選択メニュー『入力』から『ゆさぶられたとき』ブロックを選択します。


『~とき』ブロックはワークスペース上で、色々なジェスチャーに変更ができます。例えば、『右に傾けたとき』とか『左に傾けたとき』などです。このプログラムでは、『ゆさぶられたとき』にします。


ステップ 2

今から、ゆさぶらたときに『何をどうするのか』をプログラムしていきます。ブロック種類選択メニュー『変数』から『変数を0にする』ブロックを選択します。


変数名を『サイコロの目』とか分かりやすい名前に変更します。『変数▼』の▼をクリックして開かれるメニューから『変数の名前を変更…』を選択して名前を変更してください。



変数『サイコロの目』がつくられたので、次に乱数0~5の間の数字を選択する必要があります。 サイコロの目なので6種類の値が必要です。 ブロック種類選択メニュー『計算』から『0から4の範囲の乱数』ブロックを選択します。ワークスペースに追加された『0から4の範囲の乱数』ブロックの4を5に変更します。


ワークスペースに追加された『0から5の範囲の乱数』ブロックをドラッグして、『変数サイコロの目を0にする』ブロックの『0』のところにドロップして置き換えます。 これで、マイクロビットを振るたびに0から5の間の数字がランダムに選択されます。 この数字は、変数『サイコロの目』に保存されます。


ステップ 3

変数『サイコロの目』の値に応じてサイコロの目を表示する必要があります。 これは条件分岐選択といいます。 この場合『もし…なら…でなければ…』ブロックを使います。 『もし…なら…でなければ…』ブロックは、ブロック種類選択メニュー『論理』のところにあります。


『もし…なら…でなければ…』ブロックを追加したら、歯車アイコンをクリックして複数の条件を追加します。


6つの選択肢がありますので、『elseif(でなければもし)』ブロックを4つ追加する必要があります。 最初の『もし』、続く4つの『でなければもし』、最後の『でなければ』で6つの条件分岐が可能です。

ステップ 4

ここからは、条件分岐選択をするために『もし…』の…(論理条件)部分を作っていきます。再度ブロック種類選択メニュー『論理』から『0=0(等しい)』ブロックを選択します。


追加された『0=0』ブロックをドラッグして、『もし』の右にドロップします。


『もし 0=0』で変数『サイコロの目』に保存されている乱数がどの値か調べます。 変数『サイコロの目』は、ブロック種類選択メニュー『変数』にあります。


6つの条件(0~5)のうち、最初に変数『サイコロの目』が0かチェックします。変数『サイコロの目』をドラッグして、0=0』ブロックの左の0のところにドロップします。


同じ手順を4つの『でなければもし』で繰り返します。『サイコロの目=0』ブロックを右クリックして表示されるメニューで『複写する』を選択して複写します。複写したブロックの右の数字をそれぞれ1、2,3、4に変更してください。


ステップ 5

最後に、サイコロの目に応じたパターンをLEDに表示するプログラムを作ります。ブロック種類選択メニュー『基本』から、『show leds(LEDを点灯)』ブロックを選択します。


ワークスペースに追加された『show leds』ブロックをドラッグして、最初の『もし』の下にドロップします。 薄青色の■をクリックして、必要なサイコロの目のパターンを作ることができます。 これは、1のサイコロの目のパターン例です。


『show leds』ブロックを5回複写して残りのサイコロの目のパターンを作ってください。以下が完成したプログラムです。プロジェクトを保存してから、マイクロビットにダウンロードしてください。

チャレンジ

次の機能を追加してみてください。

  • サイコロが転がっているようなアニメーションを追加してみる
  • 6面のサイコロ以外に、8面や12面のサイコロを作ってみる

更に学ぶ

レッスン『トゥルース・オア・デア』ではボタン入力を使います。このレッスンと同じようにLED表示と『もし』ブロックを使いますが、同時に2つのプログラムループを実行する方法が学べます。

Selecting this opens external content from our support system, which adheres to their privacy policy.