スポンサーリンク
Scratch

Scratch(スクラッチ)でランダムに誰かを選ぶプログラム(乱数、スプライト、入れ子処理を覚えよう)

Scratch

当番を決めたり、遊びで鬼を決めたり。
学校生活の中で、「誰か一人を選ぶ」という場面がありますよね。
今回は名簿の中から誰か一人をランダムに選ぶプログラムを作ってみます。
そのプログラムの中で、「乱数」「スプライトの使い方」「入れ子処理」について学んでいきましょう。

スポンサーリンク

プログラム「鬼を決めろ」の紹介

今回作るプログラムを「鬼を決めろ」という名前にしました。
名簿の中からランダムで一人の鬼を決めるプログラムです。
画面はこんな感じです。

仕様を説明します。
1.「名前入力」ボタンを押します。
2.キャラクタが「名前を入力してね」としゃべって、画面の下に名前を入力する場所が出てきます。
3.下の入力欄に名簿に入れたい人の名前を入力して「✓」ボタンを押します。
4.すると左上の「鬼候補」のリストに名前が追加されて、画面下の入力欄に次の人の名前が入力できるようになります。
5.上記の3~4を繰り返して鬼候補の名簿を作成します。
6.名簿に必要な人の名前がすべて入力出来たら「鬼を選ぶ」のボタンを押します。
7.キャラクタが鬼候補からランダムに選んだ人の名前をしゃべります。これで鬼が決定です。
8.名簿を新しくしてやり直したい場合は「リセット」ボタンを押します。

プログラムの説明

では、どんなプログラムを作ったのか説明しましょう。

スプライトの使い方

今回は4つのスプライトを使います。
スプライトというのは画面上に配置するパーツです。
Scratchの標準で配置されている猫のキャラクタもスプライトです。

猫のキャラクタ:鬼の名前を教えてくれるスプライト
名前入力ボタン:名前の入力を開始するときのボタン
鬼を選ぶボタン:鬼を選ぶ時に押すボタン
リセットボタン:鬼候補をすべて消すボタン

スプライトごとに異なるプログラムを作ることができます。
例えば、ボタンのスプライトにはボタンを押したときのプログラムを作ります。
これまで作ってきたプログラムはスプライトを意識していなかったかもしれませんが、猫のスプライトにプログラムを作っていました。

プログラムを作らずに、ただのパーツとしておくだけでも構いません。

では、次は各スプライトのプログラムを説明します。
今回のプログラムは主な処理を猫のスプライトの中に作りました。
ボタンのスプライトからは猫の中のプログラムを呼び出すという構成になっています。

名前入力ボタン

名前入力のスプライトにはこのスプライトが押されたときに発動するプログラムを作ります。
スプライトが押されたときには発動するためには「このスプライトが押されたとき」の部品を使います。
中身には「名前入力を送る」の部品だけです。
「名前入力」のプログラムを呼び出すだけです。
「名前入力」のプログラムは猫のスプライトの中に作りました。

猫のスプライト1

左側の塊を見てください。
「名前入力」が送られたときに発動するプログラムです。

プログラムの中身は、
猫のキャラクタが「名前を入力してね」をしゃべった後、入力欄を表示して待ちます。
入力欄に名前が入力されて、✓ボタンが押されたら次のプログラムが動きます。
「答え」つまり、入力された名前を「鬼候補」のリスト(名簿)に追加します。

これを永遠に繰り返すプログラムです。

ここで、「あれ?ブロック定義じゃないの?」と思った人もいるでしょう。
正解です。
この場合、〇〇を送るではなくブロック定義を使うこともできます。
むしろブロック定義が正しい使い方です。
今回は私の気まぐれで〇〇を送る部品を使いました。

鬼を選ぶボタン

このスプライトも「名前入力」と同様にスプライトが押されたときに発動するようにします。
プログラムの中身は猫のスプライトに作りました。

猫のスプライト2

右側のプログラムを見てください。
鬼を選ぶのスプライトが押されたときに発動するプログラムです。
鬼候補の中からランダムに選出して、「鬼の名前は、」に続けて選出した名前をしゃべるように作っています。

入れ子処理を分解してみよう

たった3行で作った短いプログラムですが、紫の部品を見るとすごく複雑なプログラムになっています。
プログラミングに慣れてくるとこのような作り方ができるようになります。
初めのうちはこれが難しいので、違う書き方も考えてみましょう。

まず、どんな手順で処理が必要か分解してみましょう。
プログラミング授業の目的の一つ、「何をどの順番でやるか」問題解決のトレーニングです。

1.鬼候補に何人の名前があるか調べます。
2.1から鬼候補の人数の間でランダムに数字を選びます
3.2で選んだ番号に該当する名前の名前を取り出す
4.「鬼の名前は、」と選んだ人の名前をくっつける
5.4でくっつけた文字をしゃべる。

このようになります。
では、これをプログラムにしてみましょう。

いかがでしょうか。
考えやすくなったでしょうか。
ただし、作成の手順は増えましたね。

リセットボタン

最後にリセットボタンです。
鬼候補をすべて消すだけのプログラムです。

コメント

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