スクラッチ(Scratch)でクイズやゲームのプログラムを作っていくと、質問の答えなどをキーボードで入力してもらいたいシーンなどが出てきます。スクラッチ(Scratch)じゃなくても、世の中にある様々なシステムでは、ユーザにいろいろなデータを入力してもらうシーンが多々あります。人間とスクラッチ(Scratch)が対話する一つの方法ですが、これを行う方法をご説明します。

ここでは、スクラッチ画面で入力した文字でロボットを喋らせたり、計算をしたりするプログラムを作ってみます。

質問をして入力をしてもらうコマンド

スクラッチでは、スプライトをメインとして動くプログラムを作るため、基本的に質問はスプライトが吹き出しとして表示をします。そしての質問の答えは、スプライトがいる同じステージ上に現れる入力ボックスで行うことになります。
以下がその画面です。

このコマンドはスクラッチでは「コード」「調べる」「あなたの名前は何ですか?と聞いて待つ」ブロック一つでできます。

このブロックの「あなたの名前は何ですか?」と書かれている部分が丁度スプライトの吹き出しになっていますので、もし別の質問をしたい場合にはここに質問の文を書くことで自由に変更することができます。

例えば下記のようになります。

質問の答えはどうなるのか

この質問に対して、下の入力ボックスでキーボードからの入力をスクラッチ(Scratch)は待っているので、ここに何かの入力をしキーボードのEnterを押すことで次の処理に流れるのですが、ではこの入力した答えはどこに入るのか?というと、これは同じコードの中の、このブロックのすぐ下の(答え)というブロックに記憶されます。

では本当に記憶されたのかどうかを見てみましょう!

(答え)ブロックの前にあるチェックボックスにチェックをすると、ステージ左上に入力された(答え)お中を見ることができますのでやってみましょう。

答えをスプライトに喋らせてみる

それでは次の一歩として、入力された(答え)のデータを使って、スプライトに喋らせてみます。
[コード][見た目]の[こんにちは!と2秒いう]ブロックを使った次のプログラムを作ってみましょう。
入力したデータをスプライトが吹き出しでもう一度喋ってくれるはずです。

ロボットに喋らせてみる

クムクムロボットには日本語を喋る機能があります。

この機能を使って、住んでいる都道府県を聞いて、入力されたその答えを喋るロボットを作ってみます。
牡蠣のプログラムを入力し、実際にクムクムロボットと接続して実行してください。

※ただし、答えの入力はクムクムがお喋りできるローマ字で入力します。