スクラッチプログラミング - リストをつかって《おみくじうらない》をつくろう
運勢(うんせい)をうらなうゲームをつくりながら、リストのつかいかたを見ていきましょう。いろいろなことばをリストに入れて、その中のどれかをうらない結果(けっか)として表示(ひょうじ)するプロジェクトです。
![スクラッチプログラミング - リストをつかって《おみくじうらない》をつくろう](/content/images/size/w2000/2021/07/article-image-2.jpg)
サンプルさくひんであそんでみよう
今回(こんかい)は、リストをつかった《おみくじうらない》のつくりかたをしょうかいします。
- みどりのはたをおしたあと、スタートボタンではじめる
- ストップボタンをおすと、結果(けっか)が出る
(プロジェクトがひょうじされないばあいは、ScratchのPyxofyページをごらんください)
このプロジェクトでは、うらない結果(けっか)をまとめるためにリストをつかっています。
このきじをよむとわかること
- 「スタートボタン」と「ストップボタン」のつくりかた
- リストの値(あたい)をひとつずつ表示(ひょうじ)するほうほう
おみくじうらないのつくりかた
リストをつかって、いろいろなうらない結果(けっか)が出るゲームをつくってみましょう!
【かんせいプログラム】
![おみくじうらないをする魔法使いの完成コード おみくじうらないをする魔法使いの完成コード](https://www.pyxofy.com/content/images/2021/07/wizard-girl-code-2.jpg)
1. スプライトをよういしよう
- 「Wizard Girl (まほうつかい)」のスプライトをえらぶ
![魔法使いのスプライトが選ばれている画像 魔法使いのスプライトが選ばれている画像](https://www.pyxofy.com/content/images/2021/07/choose-sprite-wizard-girl-2.jpg)
- 「スタートボタン」と「ストップボタン」を用意(ようい)する
![青いスタートボタンとオレンジ色のストップボタンが用意されてステージの下側に表示されている 青いスタートボタンとオレンジ色のストップボタンが用意されてステージの下側に表示されている](https://www.pyxofy.com/content/images/2021/07/button-sprites-2.jpg)
今回(こんかい)は、「Button 2 (ボタン2)」のスプライトにペイントエディターで字をかいて、ボタンとしてつかいます。
![ペイントエディターでボタンをつくる画像 ペイントエディターでボタンをつくる画像](https://www.pyxofy.com/content/images/2021/07/draw-button-1.jpg)
2. スタートボタンとストップボタンのつくりかた
「スタートボタン」と「ストップボタン」を、つぎのようにプログラミングしましょう。
メッセージのブロックをつかって、スタートとストップのタイミングをきめますよ。
【スタートボタン】
スタートボタンをおしたら、うらないがはじまるようにします。
- 「スタート」をえらぶ
![スタートボタンが選択されている スタートボタンが選択されている](https://www.pyxofy.com/content/images/2021/07/choose-start-2.jpg)
- はたがおされたときに、ボタンを表示(ひょうじ)する
- 表示(ひょうじ)する位置(いち)と、大きさをきめる
- ボタンがおされたとき、メッセージ「スタート」をおくる
- メッセージをおくったら、ボタンをかくす
![スタートボタンの完成コード スタートボタンの完成コード](https://www.pyxofy.com/content/images/2021/07/start-button-code-2.jpg)
【ストップボタン】
ストップボタンをおしたら、うらない結果(けっか)が出るようにします。
- 「ストップ」をえらぶ
![ストップボタンが選択されている ストップボタンが選択されている](https://www.pyxofy.com/content/images/2021/07/choose-stop-2.jpg)
- さいしょは、ボタンをかくしておく
- 表示(ひょうじ)する位置(いち)と、大きさをきめる
- メッセージ「スタート」をうけとったとき(スタートボタンがおされたあと)、表示(ひょうじ)する
- ボタンがおされたとき、メッセージ「ストップ」をおくる
![ストップボタンの完成コード ストップボタンの完成コード](https://www.pyxofy.com/content/images/2021/07/stop-button-code-2.jpg)
3. リストをつくろう
うらない結果(けっか)をまとめておくリストをつくりましょう。
- 「Wizard Girl (まほうつかい)」をえらぶ
![魔法使いが選択されている 魔法使いが選択されている](https://www.pyxofy.com/content/images/2021/07/choose-wizard-girl-2.jpg)
- 「うらない」というなまえのリストをつくる
- チェックマークをはずしておく…リストをステージに表示(ひょうじ)しないため
![うらないという名前のリストブロックがブロックパレットに表示されている うらないという名前のリストブロックがブロックパレットに表示されている](https://www.pyxofy.com/content/images/2021/07/make-a-list-5.jpg)
リストにあたいを入れよう
「なにかをうらないについかする」ブロックをつかって、うらない結果(けっか)をリストに入れます。今回(こんかい)は11こ、入れてみますね。
- 「はたがおされたとき」
- 「うらないのすべてをさくじょする」
- 「(なにか)をうらないについかする」
![リストに占い結果を11コ入れるためのコード リストに占い結果を11コ入れるためのコード](https://www.pyxofy.com/content/images/2021/07/delete-all-of-list-4.jpg)
「はたがおされたとき」の下に、「うらないのすべてをさくじょする」をつなげるのをわすれないようにしましょう!プログラムをスタートさせるたびに、リストをからっぽにしてから値(あたい)が入るようにするためです。
4. へんすうをよういしよう
リストに入れた値(あたい)をえらぶための変数(へんすう)を用意(ようい)します。
- 「リストばんごう」というなまえの変数(へんすう)をつくる
- チェックマークをはずしておく…変数(へんすう)をステージに表示(ひょうじ)しないため
![リスト番号という名前の変数ブロックがブロックパレットに表示されている リスト番号という名前の変数ブロックがブロックパレットに表示されている](https://www.pyxofy.com/content/images/2021/07/make-a-variable-3.jpg)
5. うらないをはじめよう
スタートボタンがおされたら、うらないをはじめます。セリフのふきだしで、リストの値(あたい)をつぎつぎと表示(ひょうじ)しましょう。
- スタートをうけとったとき、ずっとくりかえす
![スタートを受け取った時ブロックの下にずっとブロックをつなげる スタートを受け取った時ブロックの下にずっとブロックをつなげる](https://www.pyxofy.com/content/images/2021/07/when-receive-start-1.jpg)
- どの値(あたい)を表示(ひょうじ)するかは、変数(へんすう)「リストばんごう」できめる
![ずっとブロックの間にリスト番号を1にするブロックを追加する ずっとブロックの間にリスト番号を1にするブロックを追加する](https://www.pyxofy.com/content/images/2021/07/set-variable-1.jpg)
- 「リストばんごう」をらんすうにして、どの値(あたい)がでるかわからないようにする
![リスト番号を1にするブロックに乱数のブロックを組み合わせる リスト番号を1にするブロックに乱数のブロックを組み合わせる](https://www.pyxofy.com/content/images/2021/07/random-block-1.jpg)
- 「うらないのながさ」までのらんすうにする
![乱数ブロックの10の部分にうらないのながさブロックを組み合わせる 乱数ブロックの10の部分にうらないのながさブロックを組み合わせる](https://www.pyxofy.com/content/images/2021/07/length-of-list-1.jpg)
- 「うらないの(リストばんごう)ばんめ」で、リストの値(あたい)をあらわす
![うらないの1ばんめブロックにリスト番号ブロックを組み合わせる うらないの1ばんめブロックにリスト番号ブロックを組み合わせる](https://www.pyxofy.com/content/images/2021/07/list-block-and-variable-block-1.jpg)
- セリフのブロックに「うらないの(リストばんごう)ばんめ」をくみあわせて、値(あたい)を表示(ひょうじ)する
![こんにちは!というブロックにリストの値を示すブロックをくみあわさえる こんにちは!というブロックにリストの値を示すブロックをくみあわさえる](https://www.pyxofy.com/content/images/2021/07/say-block-1.jpg)
セリフのふきだしで、リストの値(あたい)がつぎつぎと表示(ひょうじ)されるようになりました!
![占い中のプログラム画像 占い中のプログラム画像](https://www.pyxofy.com/content/images/2021/07/display-items-of-list-1.jpg)
「うらないのながさ」までのらんすう、とは?
リストには値(あたい)を11こ入れました。変数(へんすう)「リストばんごう」を「1から11までのらんすう」にしなかったのは、なぜでしょうか?
![ランダムブロックに、うらないのながさブロックを使う時と使わなかった時の違いを表す画像 ランダムブロックに、うらないのながさブロックを使う時と使わなかった時の違いを表す画像](https://www.pyxofy.com/content/images/2021/07/random-block-difference-1.jpg)
あとでリストに値(あたい)を追加(ついか)したり削除(さくじょ)したばあい、「11」のぶぶんをかえなくてはいけませんね。
「うらないのながさ」をつかっておくと、変更(へんこう)しないですみますよ。
6. うらないけっかをひょうじしよう
ストップボタンがおされたとき、今つくった「リストの値(あたい)をつぎつぎと表示(ひょうじ)するプログラム」をとめます。そのときに表示(ひょうじ)されている値(あたい)を、うらない結果(けっか)としましょう。
- 「ストップをうけとったとき」
- 「スプライトのほかのスクリプトをとめる」
![占い結果を表示するコード 占い結果を表示するコード](https://www.pyxofy.com/content/images/2021/07/when-receive-stop-1.jpg)
「スプライトのほかのスクリプトをとめる」の「スクリプト」とは、プログラムのことです。
7. プログラムかんせい
リストに入れたうらない結果(けっか)が出るプログラムができました!
![魔法使いの完成プログラム 魔法使いの完成プログラム](https://www.pyxofy.com/content/images/2021/07/wizard-girl-program-2.jpg)
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
「きょうからはじめるスクラッチプログラミング入門」Pyxofy (著)
Pyxofy が Scratch の基本をまとめた電子書籍を出版しました。
Kindle・Apple Books からご購入ください。
まとめ
今回(こんかい)は、リストをつかったおみくじうらないのつくりかたをしょうかいしました。
リストにはたくさんの値(あたい)を入れておくことができます。いろいろなうらない結果(けっか)を入れて、たのしいプロジェクトをつくってみてくださいね!
次回(じかい)は、「ブロックていぎ」とはどういうものかをしょうかいします。
\この記事が参考になったら Tweet おねがいします/