スクラッチプログラミング - リストをつかって《おみくじうらない》をつくろう

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

スクラッチプログラミング - リストをつかって《おみくじうらない》をつくろう
Photo by Márton Szalai on Unsplash

サンプルさくひんであそんでみよう

今回(こんかい)は、リストをつかった《おみくじうらない》のつくりかたをしょうかいします。

  1. みどりのはたをおしたあと、スタートボタンではじめる
  2. ストップボタンをおすと、結果(けっか)が出る

(プロジェクトがひょうじされないばあいは、ScratchのPyxofyページをごらんください)

このプロジェクトでは、うらない結果(けっか)をまとめるためにリストをつかっています。

このきじをよむとわかること

  • 「スタートボタン」と「ストップボタン」のつくりかた
  • リストの値(あたい)をひとつずつ表示(ひょうじ)するほうほう

おみくじうらないのつくりかた

リストをつかって、いろいろなうらない結果(けっか)が出るゲームをつくってみましょう!

  1. スプライトをよういしよう
  2. スタートボタンとストップボタンのつくりかた
  3. リストをつくろう
  4. へんすうをよういしよう
  5. うらないをはじめよう
  6. うらないけっかをひょうじしよう
  7. プログラムかんせい

【かんせいプログラム】

おみくじうらないをする魔法使いの完成コード
魔法使いのスプライトが選ばれている画像
  • スタートボタン」と「ストップボタン」を用意(ようい)する
青いスタートボタンとオレンジ色のストップボタンが用意されてステージの下側に表示されている

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

ペイントエディターでボタンをつくる画像

「スタートボタン」と「ストップボタン」を、つぎのようにプログラミングしましょう。

メッセージのブロックをつかって、スタートとストップのタイミングをきめますよ。

【スタートボタン】

スタートボタンをおしたら、うらないがはじまるようにします。

  • 「スタート」をえらぶ
スタートボタンが選択されている
  1. はたがおされたときに、ボタンを表示(ひょうじ)する
  2. 表示(ひょうじ)する位置(いち)と、大きさをきめる
  3. ボタンがおされたとき、メッセージ「スタート」をおくる
  4. メッセージをおくったら、ボタンをかくす
スタートボタンの完成コード

【ストップボタン】

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

  • 「ストップ」をえらぶ
ストップボタンが選択されている
  1. さいしょは、ボタンをかくしておく
  2. 表示(ひょうじ)する位置(いち)と、大きさをきめる
  3. メッセージ「スタート」をうけとったとき(スタートボタンがおされたあと)、表示(ひょうじ)する
  4. ボタンがおされたとき、メッセージ「ストップ」をおくる
ストップボタンの完成コード

うらない結果(けっか)をまとめておくリストをつくりましょう。

  • Wizard Girl (まほうつかい)」をえらぶ
魔法使いが選択されている
  • 「うらない」というなまえのリストをつくる
  • チェックマークをはずしておく…リストをステージに表示(ひょうじ)しないため
うらないという名前のリストブロックがブロックパレットに表示されている

リストにあたいを入れよう

なにかをうらないについかする」ブロックをつかって、うらない結果(けっか)をリストに入れます。今回(こんかい)は11こ、入れてみますね。

  • 「はたがおされたとき」
  • うらないのすべてをさくじょする
  • 「(なにか)をうらないについかする」
リストに占い結果を11コ入れるためのコード

「はたがおされたとき」の下に、「うらないのすべてをさくじょする」をつなげるのをわすれないようにしましょう!プログラムをスタートさせるたびに、リストをからっぽにしてから値(あたい)が入るようにするためです。

リストに入れた値(あたい)をえらぶための変数(へんすう)を用意(ようい)します。

  • 「リストばんごう」というなまえの変数(へんすう)をつくる
  • チェックマークをはずしておく…変数(へんすう)をステージに表示(ひょうじ)しないため
リスト番号という名前の変数ブロックがブロックパレットに表示されている

スタートボタンがおされたら、うらないをはじめます。セリフのふきだしで、リストの値(あたい)をつぎつぎと表示(ひょうじ)しましょう。

  • スタートをうけとったとき、ずっとくりかえす
スタートを受け取った時ブロックの下にずっとブロックをつなげる
  • どの値(あたい)を表示(ひょうじ)するかは、変数(へんすう)「リストばんごう」できめる
ずっとブロックの間にリスト番号を1にするブロックを追加する
  • 「リストばんごう」をらんすうにして、どの値(あたい)がでるかわからないようにする
リスト番号を1にするブロックに乱数のブロックを組み合わせる
  • うらないのながさ」までのらんすうにする
乱数ブロックの10の部分にうらないのながさブロックを組み合わせる
  • うらないの(リストばんごう)ばんめ」で、リストの値(あたい)をあらわす
うらないの1ばんめブロックにリスト番号ブロックを組み合わせる
  • セリフのブロックに「うらないの(リストばんごう)ばんめ」をくみあわせて、値(あたい)を表示(ひょうじ)する
こんにちは!というブロックにリストの値を示すブロックをくみあわさえる

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

占い中のプログラム画像

「うらないのながさ」までのらんすう、とは?

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

ランダムブロックに、うらないのながさブロックを使う時と使わなかった時の違いを表す画像

あとでリストに値(あたい)を追加(ついか)したり削除(さくじょ)したばあい、「11」のぶぶんをかえなくてはいけませんね。

うらないのながさ」をつかっておくと、変更(へんこう)しないですみますよ。

ストップボタンがおされたとき、今つくった「リストの値(あたい)をつぎつぎと表示(ひょうじ)するプログラム」をとめます。そのときに表示(ひょうじ)されている値(あたい)を、うらない結果(けっか)としましょう。

  • 「ストップをうけとったとき」
  • スプライトのほかのスクリプトをとめる
占い結果を表示するコード

スプライトのほかのスクリプトをとめる」の「スクリプト」とは、プログラムのことです。

リストに入れたうらない結果(けっか)が出るプログラムができました!

魔法使いの完成プログラム

まとめ

今回(こんかい)は、リストをつかったおみくじうらないのつくりかたをしょうかいしました。

リストにはたくさんの値(あたい)を入れておくことができます。いろいろなうらない結果(けっか)を入れて、たのしいプロジェクトをつくってみてくださいね!

次回(じかい)は、「ブロックていぎ」とはどういうものかをしょうかいします。

\この記事が参考になったら おねがいします/

Start Here - Scratch (スクラッチ)
Scratch (スクラッチ)記事(きじ)のレベル別一覧です。初級、中級、上級、拡張機能にわけてまとめました。
Scratch Programming ebook for Beginners - 入門
スクラッチ初心者の方へ向けた内容を ebook にまとめました。スクラッチの基本から簡単なスクリプト(プログラム)の作り方まで、全108ページ。ぜひダウンロードしてご活用ください。