スクラッチを始めよう!番組のスクラッチワールドで遊ぶ

番組を見る

No.12 おかしなラーメン店を直せ

お客さんの注文どおりに800種類ものラーメンを作ってくれるラーメン店。しかし、注文してもちがうラーメンが出てきてしまう。ラーメン店を直し、注文どおりのラーメンを出してもらうのだ!

おかしなラーメン店の世界 ~おかしなラーメン店を直せ~

<このスクラッチ・ワールドについて>

今回のポイントは「リスト」。たくさんの情報をあつかうときに、よく番号をつけて表を作ったりするよね。たとえば小学校の出席番号。それと同じで、いろいろなものに番号をつけた表を「リスト」と言って、たくさんの情報を管理(かんり)するのによく使うんだ。
ちなみに800種類(しゅるい)のラーメン、なぜ800種類なのかわかる?どんぶりが5種類、スープが4種類、めんが8種類、トッピングが5種類だから、5×4×8×5で800種類なんだ。ちなみに最後にスペシャルトッピングを3種類ふやしたから、今は2400種類になっているはずだ。

12-1 「リストを使ってみよう!」

前準備

スクラッチサイトにアクセスして、サインインしよう。
(まだ自分のアカウントを作っていない人は、「スクラッチのはじめ方」にしたがってアカウントを作ってね)
why_programming_12のスタジオ(※NHKサイトをはなれます)を見てみよう。

why_programming_12のスタジオで、プロジェクト「12_1 リストを使う」を選び、「中を見る」、次に「リミックス」をおして、自分のアカウントにコピーしてね。
(コピーの仕方は「自分の作品を作ろう!リミックス(改造)をする」も読んでね)

ラム

リストってなに!?

イメージ画像

みんなは、たくさんの情報(じょうほう)をまとめるとき、どうしてる?
表にして、分かりやすくまとめることもあるでしょう?
スクラッチにもそういう“表”や“入れ物”みたいなものがあって、それを「リスト」と言うの。
今回は、リストを使った「800種類ものラーメンが作れる」プログラムを直すのね。
リストがうまく使えるようになるとたくさんの情報を“管理(かんり)する”のに、とても便利なのよ。

ラム

イメージ画像

プログラミングの画面にして、データのところにある、
どんぶりの色
の左の四角にチェックをしてみて。出てくるのが「リスト」よ。
リストには「名前」をつけることができて、中に入れた情報には「番号」が付くのが特ちょうなの。
ここでは、「どんぶりの色」という名前のリストの中の情報、黒、ピンク、青…にそれぞれ1,2,3…と番号がついているわね。
ほかのリストもチェックしてみると、
スープの味 ・めんの種類 ・トッピングにも、それぞれ中に入っている情報に番号が付いているでしょう。
それは、リストの情報を使うときに、“どのリストの何番目を使うか”と、その番号を示すからなのよ。

ラム

リストの作りかた

イメージ画像

こんどは、どうやってリストを作ることができるのか見てみましょう。
データのカテゴリーの中にある、
リストを作る
を押すと「新しいリスト」という「名前を入れる画面(がめん)」が出るから、そこに「どんぶりの色」とか、「スープの味」とか、名前をつけてOKをするの。
これで準備はだいじょうぶ。
名前は、リストの中身をまとめた言葉にしておくといいわ。
※ここに、「すべてのスプライト用」とか、「このスプライトのみ」とか書いてあるけど、「すべてのスプライト用」にチェックがついてればいいわ。

ラム

イメージ画像

リストの中は、最初は空(から)っぽなの。そこに中身を入れるにはデータの所にある、
【thing】を【どんぶりの色▼】に追加する というブロックを使うのよ。
thingは「何か」という意味で、その「何か」の代わりに、「黒」「ピンク」という情報を入れて使うの。
【どんぶりの色▼】
の所には、「作ったリストの名前」が出ているの。
右横にある▼マークを押すと、「どんぶりの色」以外に、今回作った「スープの味」「めんの種類」などのリストの名前が出ているはずよ。
だから、このブロックを使うときは、▼マークを押して、中身を入れたいリストの名前をえらぶ。
thingの所に、「黒」「ピンク」、「みそ」「とんこつ」などの情報を入れる。
と、おぼえておくといいわ。

ラム

イメージ画像

どんぶりのスプライトを選んで、プログラムを見て。
左の命令で、「どんぶりの色」リストに5種類の色を入れているわね。
【黒】を【どんぶりの色▼】に追加する 【ピンク】を【どんぶりの色▼】に追加する 【青】を【どんぶりの色▼】に追加する 【レインボー】を【どんぶりの色▼】に追加する 【赤】を【どんぶりの色▼】に追加する 実は、この順番(じゅんばん)がすごく大事なの。
上から下へ、ブロックを追加した順番にリストに番号がついていくのよ。
ここでは、黒→1番目 ピンク→2番目 青→3番目 レインボー4番目 赤→5番目になるわね。ほら、リストの順番と同じでしょう?
ブロックを入れかえると、リストの順番もかわるわ。
ここまで分かったら、次はリストを使う命令を見てみましょう。

ラム

リストを使ったプログラムの例(れい)

イメージ画像

ここで紹介するのは、「質問(しつもん)」に、リストの番号で「答える」プログラムよ。
【どんぶりの色は?】と聞いて待つ コスチュームを【《答え》番目(どんぶりの色▼)】にする ってあるわね?
まず、
【どんぶりの色は?】と聞いて待つ という命令だけど、これは、どんぶりの色は?という「質問」をして「答え」を待つってことなの。

ラム

イメージ画像

これは”調べる”というカテゴリーにある、
【What’s your name?】と聞いて待つ と書かれたブロックを使っているの。この【   】の文章を「どんぶりの色は?」に変えたのよ。
「質問」を入れると、その「答え」を入れられるスペースもいっしょに画面にあらわれるようになるわ。
そこへ、リストの「番号(数字)」を入れればいいのよ。

ラム

イメージ画像

入れた数字は、この コスチュームを【《答え》番目(どんぶりの色▼)】にする の《答え》に入るの。
この命令で、入力した番号(数字)のどんぶりが出てくるようにしてるのよ。
入力されたリストの番号は、この青い《答え》に入る。
そうするとここでは「2」を入れているから、コスチュームを2番目のどんぶりの色にするとなるわよね。
リストの2番目はピンクでしょう?
だから「2」と答えに入れたら、どんぶりの「ピンク」が出てくるわ。
※コスチュームは、ここで使える絵や写真のことよ。今回はどんぶりや、スープ、めんの“絵”になるわね。

ラム

注意すること1

イメージ画像

ちょっとこれを見て。
リストの2番は「ピンク」だけど、お店のメニューの2番は「青」になってるわね。
きっと、リストをつくるときに、色を追加する順番をまちがってしまったのね。
元にある何か(→ここではお店のメニュー)と「同じリスト」をつくらないといけないときは、順番に注意が必要よ。
みんなで、全部のリストがお店のメニュー通りの順番になるように直してみましょう!

ラム

注意すること2

イメージ画像

データのところに、 【1▼】番目を【どんぶりの色▼】から削除(さくじょ)する という命令があるわよね。これがすごく大事なの。 リストを作るときは、「1」の横の▼を押して「すべて」をえらび 【すべて▼】番目を【どんぶりの色▼】から削除(さくじょ)する として使うの。
これは、「どんぶりの色」リストの中身をすべて消すという命令で、これを使わないと、旗(はた)マークが押されるたびに、ずっと「どんぶりの色」リストに「黒」「ピンク」「青」「レインボー」「赤」が追加されてしまうわ。
だから、すべてを消すという命令を使って、リストの中身を「0」にしてから、また新しく「黒」「ピンク」…と追加していくようにしてるの。
そうすれば、いつも同じ中身がリストに入ってることになるわね。
いまは、むらさき色の「準備」の中に、他の命令と合わせて入れているの。

ラム

注意すること3

イメージ画像

どんぶりをえらぶ▼を受け取ったとき  は、「どんぶりをえらぶ」というメッセージを受け取ったときだけ、その下にならんでいる命令を実行するというものよ。
たとえば、どんぶりをえらぶ画面(がめん)なのに、スープをえらぶのはおかしいでしょう?
メッセージを「送る」命令と、「受け取る」命令をセットにして使えば、そうしたことが防げるわ。
「送る」や「受け取ったとき」のメッセージについては、Whyプログラミング6のスタジオを参考(さんこう)にしてね。

ラム

さいごに

さいごにもう1つ、おぼえてほしいこと。
それは、リストに入れるものは何でもOKということ。
数字でも、ひみつの暗号(あんごう)でも、長い文章でも、絵や音符(おんぷ)だってかまわないわ。
たとえば、“だれが” “どこで” “いつ” “何をした” “そのときどうだった” なんてリストを作って、たくさんの物語ができるプログラムを作ってもいいし、音をパソコンに取りこんで、その“音てい”や“音の長さ”をリストにして使えば、自動で音楽が鳴るようにもできる。
リストは工夫しだいでいろんな表現(ひょうげん)に使えて、みんなの作品作りにもいかせるのよ!
絵のとりこみかたはスタジオ9、音のとりこみかたはスタジオ10を参考(さんこう)にしてね

ラム

今回のまとめ

  • リストは番号つきの表で、たくさんの情報を管理(かんり)するのに便利
  • 「データ」カテゴリーの「リスト」を押すと名前を入れてリストができる
  • リストに中身をいれるには、【thing】を【〇〇〇〇▼に追加する】を使う。
    リストの番号は、このブロックを追加した順につけられる
  • プログラムで、リストの中身を使うときはその「番号」を入れる

今回のリミックス

「スペシャル」という名前のリストに、好きなものを追加してみて。
おはしやスプーンでもいいし、もやしや他のトッピングを入れてもいい。
たべものじゃなくてもかまわない。自由に考えてみましょう!