スクラッチの乱数
スクラッチには通常プログラミング言語でももつ命令の「乱数」にあたる機能が用意されています。
このブロックは、自分が指定した範囲までの任意の数字をコンピュータが返してくれるというものです。
返してくれる…というのは、このブロック自体がなにかをするというわけではなく、このブロックがコールされたときに、このブロック自体に値が代入されます。
そしてこのブロックで代入された値をそのまま変数の様に使うのもいいし、いったん変数に代入して使うのでも問題ありません。
このブロックは命令ではなく、何かの命令をされたあと(この場合は自動で作られた数字)の結果であるため、それを命令のブロックで挟んで使うわけにはきません。
たとえばこうです..
このプログラムは、ずっとの中に挟まれていて1~10までの乱数をずっと発生し続けるプログラムに見えるが、実際に作って実験してください。
こんな風になって、乱数のブロックは後ろに隠れてずっとの中ではまったく動いていないことがわかります。
事実、ずっとのブロックや乱数のブロックをつまんで動かしてみると、一緒に動かずにバラバラになってしまうはずです。
こんな風に…
変数に代入して使ってみる
コマンドブロックに対して直接使うこともできます。
例えばこんな風に
これは1~10までの乱数をスプライトがフキダシで表示してくれます。
ちょっとまどろっこしいが、変数に代入することもできます。
こんな風に
一見まどろっこしく見えるが、変数に代入した場合は、その変化が画面でしっかり確認できることと、あとでこの変数を使っていろいろな処理ができるのです。
変数のチェックボックスにチェックを入れておくと、ステージ部分で変数の内容を確認することができます。
そうすると、画面の実際の動きに合わせて、本当にその乱数が発生しているのかも確認することができてとても便利です。
乱数と判断でLEDを光らせてみる
このプログラムは1~3までの乱数を発生させて、発生した数字を「変数」という名前の変数に代入しています。
そして、その変数の数字が1の場合は赤を、2の場合は緑を、3の場合は青を光らせています。
光らせる前には、他の色が点灯していると混ざった色になってしまうので、すべての色を消しています。
※判断分を使わないプログラムに次回は挑戦する。
コメント