こんにちは、ナナです。
「乱数」とは規則性のない数字の集合のことです。
『規則性がある数字列』とは、例えば「1、2、3、4」や「1、4、9、16」といったものになります。「次の数字はこれだね」とわかるのは、規則性があるからです。
『規則性のない数字列』とは、「5、8、1、9」や「7、2、1、6」といった数字になります。次の数字が何になるのかわかりませんよね。
このような数字のことを『乱数』と呼びます。
この記事では、次のことを学習できます。
では、makecodeを使った、「乱数」の使い方を学んでいきましょう。
「乱数」とは規則性のない数字のこと
師よ!今日のテーマは「乱数」というものですね。規則性がない数字とはどんなところで役に立つのですか?
「乱数」はみんなにとっては身近なものなんですよ。「サイコロ」は代表的な乱数を作るための道具ですね。
「サイコロ」は振ると、毎回出る目が変わりますね。サイコロの数字は「乱数」なんです。
「乱数」が使われる身近なもの
みんなはサイコロを使って「すごろく」や「人生ゲーム」なんてものをしたことがありませんか。
このようなゲームの面白さは、ゲームをする度に結果が変わることですよね。
なぜ、結果が変わるかというと「サイコロ」という規則性のない乱数によって、ゲームの進み方が変わるからですね。
コンピューターゲームのプログラムでも「乱数」は活躍している
みんなが普段遊んでいるコンピューターゲームでも「乱数」はたくさん使われています。
ダンジョンを探索していると、毎回違うモンスターが敵として登場しますね。
規則性がなく毎回異なる敵が登場するのは、乱数を使って敵を出現させているからなのです。
ゲームの面白さは「乱数」によって作られているんですね。
「乱数」のことを「ランダム」という言葉で表現することもあります。覚えておきましょう!
「乱数」ブロックの使い方を覚えよう!
そうか!自分がこれまでに倒してきた敵は毎回違うやつらだったが、やつらは乱数で現れていたのだな。まぁ、全員火遁の術で倒してやったがな!
ところで、師よ!「乱数」をプログラムで使うためにはどのようにすればよいのでしょうか?
火遁?それはゲームの中の話だよねっ?そうだよねっ?現実のことじゃないよね…。聞かなかったことにするよ!
じゃあ、「乱数」のブロックの使い方を覚えようね!
makecodeには「乱数」を作るためのブロックが用意されています。
「乱数」ブロックの使い方
「乱数」ブロックは「計算」ブロック一覧の中にあります。
では、まずは「乱数」の数をLEDに表示してみましょう。「数字を表示」ブロックと組み合わせて「ずっと」ブロックの中に結合してみましょう。
画面左上のmicro:bitに「0~10」の数字のどれかが、ランダムに順番に表示されますね。これが「乱数」です。
乱数に指定する数の範囲
「乱数」ブロックには2つの数字を指定する箇所があります。
ここには乱数として作りたい数字の範囲を指定します。例えば、サイコロの場合は「1」から「6」なので、その数字を指定するとよいですね。
数字の範囲を変えれば「1」~「9」のサイコロも作り出すことも可能ですよ。これがプログラミングの便利なところですね!
「乱数」ブロックを使ってプログラミングをしてみよう!
師よ!「乱数」ブロックは数字を表示する以外に、どのような使い方ができるのですか?本格的にプログラムを作りたいんですよ!
よし。それじゃあ、「乱数」ブロックをもっと他のブロックと組み合わせてみようね。サイコロをLEDで表示するプログラムを作ってみるよ!
「乱数」ブロックで作られた数字をもとに、サイコロの目をLEDに表示してみましょう。
乱数で1~6の数字を作ってみよう!
サイコロの目は「1~6」の種類がありますね。
それでは「乱数」ブロックを使って、「1~6」の数字を作ってみましょう。
これで「1~6」の数字を乱数で作ることができます。
サイコロの目をLEDで作ってみよう!
数字をそのままLEDに表示するのは味気がないので、サイコロの目としてLEDに表示してみましょう。
サイコロの目は次のようになるように「LED画面に表示」ブロックで作ってください。
乱数で作った数字をもとに、このサイコロの目を表示できることを目指しますよ。
乱数で作った数字を変数に記憶しておこう!
乱数で作った数字を覚えておくための変数を準備します。「変数」ブロックから変数を作成してみましょう。
変数の名前は「サイコロの目」としておきます。
作成した変数「サイコロの目」に乱数の数を設定して、数を覚えておきましょう。
「変数値の設定」ブロックに「乱数」ブロックを組み合わせることで実現します。
作成したブロックは「ずっと」ブロックの中にいれておきます。
比べるブロックを使って乱数の値を確認しよう!
乱数で作成した数字によって、サイコロのLEDを変化させる必要があります。
そのためには「比べる」ブロックを使います。論理ブロック一覧の中にある「比べる」ブロックを選択しましょう。
「比べる」ブロックは「2つの数字を比べるとき」に使うブロックです。
記号 | 数①と数②の比べ方 |
①=② | ①と②が同じ |
①≠② | ①と②が違う |
①<② | ①は②より小さい |
①≦② | ①は②以下 |
①>② | ①は②より大きい |
①≧② | ①は②以上 |
みなさんは、2つの数字をどのように比べたいのかを指定します。これにより、乱数で作られた数が、どの数字なのかを調べることができるのです。
「数①」の部分には「変数」ブロックを入れることが多いのがプログラミングの特徴です。
この後、使い方を説明しますよ。
「比べる」ブロックと「もし」ブロックを組み合わせよう!
「比べる」ブロックは、次のように「もし」ブロックとの合わせて使うことが多いブロックです。
「もし」ブロックは「もし、△△△なら、〇〇〇しよう」というときに使いますね。
今回は「もし、サイコロ変数の数が1 なら、 LEDにサイコロ1を表示 しよう」とプログラムを作ります。
変数「サイコロの目」が「1」~「6」のときに、LEDのサイコロを表示していますね。
プログラム動作の確認をしよう!
ここまで出来たらプログラムが正しく動くことを確認しましょう。サイコロのLEDが順に切り替わりましたね。
サイコロシステムのプログラムの流れ
今回、作成したサイコロプログラムは、次のように作られています。
みなさん、プログラムの流れがわかりましたか?
ブロックを組み合わせることで、いろいろなプログラムを作ることができます。みんなのアイデア次第で、なんでもできるんですよ!
質問コーナー:乱数について気になること
「乱数」について質問あるひとー!
質問:乱数で作ることができる数字はどんなものがあるの?
師よ!「乱数」ブロックで作ることのできるものは「1」や「2」といった数字だけなのですか?「A」や「B」といった文字や、「1.5」や「3.14」といった小数点のついた数字は作れないのですか?
「乱数」ブロックでは「A」などの文字を作ることはできないんだよ。でも「1.5」といった小数点の数字は作り出すことができるよ!
「1」や「2」といった小数点のついていない数字のことを『整数』と呼びます。「乱数」ブロックでは、整数以外にも小数点付きの数字を作ることもできます。
「乱数」ブロックに小数点付きの数字を指定することで、小数点の乱数を作ることもできます。
やってみようコーナー:乱数を使ったプログラミングの巻
それじゃあ「乱数」ブロックを使ったプログラムを作ってみようね!
修行その1:「乱数」ブロックを使ったプログラム
プログラム内容
プログラムの流れ
これで、毎日の修行に集中できるよ!みんな、ありがとう!
修行その2:プログラム
クルクル演出付きのプログラム
『ドコドコドコドコ・・・ジャーン!火遁』よーーーーし、燃えてきたぜー!今日は全てを燃やし尽くすぜーっ!