スクラッチプログラミング - リストをつかって《おみくじうらない》をつくろう
運勢(うんせい)をうらなうゲームをつくりながら、リストのつかいかたを見ていきましょう。いろいろなことばをリストに入れて、その中のどれかをうらない結果(けっか)として表示(ひょうじ)するプロジェクトです。

サンプルさくひんであそんでみよう
今回(こんかい)は、リストをつかった《おみくじうらない》のつくりかたをしょうかいします。
- みどりのはたをおしたあと、スタートボタンではじめる
- ストップボタンをおすと、結果(けっか)が出る
(プロジェクトがひょうじされないばあいは、ScratchのPyxofyページをごらんください)
このプロジェクトでは、うらない結果(けっか)をまとめるためにリストをつかっています。
このきじをよむとわかること
- 「スタートボタン」と「ストップボタン」のつくりかた
- リストの値(あたい)をひとつずつ表示(ひょうじ)するほうほう
おみくじうらないのつくりかた
リストをつかって、いろいろなうらない結果(けっか)が出るゲームをつくってみましょう!
【かんせいプログラム】

1. スプライトをよういしよう
- 「Wizard Girl (まほうつかい)」のスプライトをえらぶ

- 「スタートボタン」と「ストップボタン」を用意(ようい)する

今回(こんかい)は、「Button 2 (ボタン2)」のスプライトにペイントエディターで字をかいて、ボタンとしてつかいます。

2. スタートボタンとストップボタンのつくりかた
「スタートボタン」と「ストップボタン」を、つぎのようにプログラミングしましょう。
メッセージのブロックをつかって、スタートとストップのタイミングをきめますよ。
【スタートボタン】
スタートボタンをおしたら、うらないがはじまるようにします。
- 「スタート」をえらぶ

- はたがおされたときに、ボタンを表示(ひょうじ)する
- 表示(ひょうじ)する位置(いち)と、大きさをきめる
- ボタンがおされたとき、メッセージ「スタート」をおくる
- メッセージをおくったら、ボタンをかくす

【ストップボタン】
ストップボタンをおしたら、うらない結果(けっか)が出るようにします。
- 「ストップ」をえらぶ

- さいしょは、ボタンをかくしておく
- 表示(ひょうじ)する位置(いち)と、大きさをきめる
- メッセージ「スタート」をうけとったとき(スタートボタンがおされたあと)、表示(ひょうじ)する
- ボタンがおされたとき、メッセージ「ストップ」をおくる

3. リストをつくろう
うらない結果(けっか)をまとめておくリストをつくりましょう。
- 「Wizard Girl (まほうつかい)」をえらぶ

- 「うらない」というなまえのリストをつくる
- チェックマークをはずしておく…リストをステージに表示(ひょうじ)しないため

リストにあたいを入れよう
「なにかをうらないについかする」ブロックをつかって、うらない結果(けっか)をリストに入れます。今回(こんかい)は11こ、入れてみますね。
- 「はたがおされたとき」
- 「うらないのすべてをさくじょする」
- 「(なにか)をうらないについかする」

「はたがおされたとき」の下に、「うらないのすべてをさくじょする」をつなげるのをわすれないようにしましょう!プログラムをスタートさせるたびに、リストをからっぽにしてから値(あたい)が入るようにするためです。
4. へんすうをよういしよう
リストに入れた値(あたい)をえらぶための変数(へんすう)を用意(ようい)します。
- 「リストばんごう」というなまえの変数(へんすう)をつくる
- チェックマークをはずしておく…変数(へんすう)をステージに表示(ひょうじ)しないため

5. うらないをはじめよう
スタートボタンがおされたら、うらないをはじめます。セリフのふきだしで、リストの値(あたい)をつぎつぎと表示(ひょうじ)しましょう。
- スタートをうけとったとき、ずっとくりかえす

- どの値(あたい)を表示(ひょうじ)するかは、変数(へんすう)「リストばんごう」できめる

- 「リストばんごう」をらんすうにして、どの値(あたい)がでるかわからないようにする

- 「うらないのながさ」までのらんすうにする

- 「うらないの(リストばんごう)ばんめ」で、リストの値(あたい)をあらわす

- セリフのブロックに「うらないの(リストばんごう)ばんめ」をくみあわせて、値(あたい)を表示(ひょうじ)する

セリフのふきだしで、リストの値(あたい)がつぎつぎと表示(ひょうじ)されるようになりました!

「うらないのながさ」までのらんすう、とは?
リストには値(あたい)を11こ入れました。変数(へんすう)「リストばんごう」を「1から11までのらんすう」にしなかったのは、なぜでしょうか?

あとでリストに値(あたい)を追加(ついか)したり削除(さくじょ)したばあい、「11」のぶぶんをかえなくてはいけませんね。
「うらないのながさ」をつかっておくと、変更(へんこう)しないですみますよ。
6. うらないけっかをひょうじしよう
ストップボタンがおされたとき、今つくった「リストの値(あたい)をつぎつぎと表示(ひょうじ)するプログラム」をとめます。そのときに表示(ひょうじ)されている値(あたい)を、うらない結果(けっか)としましょう。
- 「ストップをうけとったとき」
- 「スプライトのほかのスクリプトをとめる」

「スプライトのほかのスクリプトをとめる」の「スクリプト」とは、プログラムのことです。
7. プログラムかんせい
リストに入れたうらない結果(けっか)が出るプログラムができました!


「きょうからはじめるスクラッチプログラミング入門」Pyxofy (著)
Pyxofy が Scratch の基本をまとめた電子書籍を出版しました。
Kindle・Apple Books からご購入ください。
まとめ
今回(こんかい)は、リストをつかったおみくじうらないのつくりかたをしょうかいしました。
リストにはたくさんの値(あたい)を入れておくことができます。いろいろなうらない結果(けっか)を入れて、たのしいプロジェクトをつくってみてくださいね!
次回(じかい)は、「ブロックていぎ」とはどういうものかをしょうかいします。
\この記事が参考になったら Tweet おねがいします/