こちらは、スクラッチの「調べる」ブロックの中にある「答え」ブロックの使い方を、詳しく徹底解説しています!
「答え」ブロック
「答え」ブロックは、「〇と聞いて待つ」ブロックの入力した値を返します。
「〇と聞いて待つ」ブロックは、指定したテキストを表示させ、画面下の入力ボックスの入力が完了するまで待つブロックです。
この2つのブロックは、常にセットで利用されます。
値のブロック
スクラッチのブロックには、役割に応じたブロック形状の決まりがあります。
ブロックの形状については、「Scratchのブロックの種類と役割について」をご確認ください。
「答え」ブロックは、値ブロック(Reporter Block)に該当し、楕円形の形状をしています。
こちらには、数値や文字列といった、何らかの値を維持するブロックで、プログラミングの世界では「変数」と呼ばれるものです。
「答え」ブロックの中の値を確認したい場合は、「答え」ブロックをクリックしましょう。
クリックすると、「答え」ブロックの中の値を確認できます。
「答え」ブロックの使い方
それでは、「答え」ブロックブロックの使い方を見ていきましょう。
こちらは、掛け算の問題ゲームです。
「緑の旗が押されたとき」ブロックを使って、緑の旗がクリックされたときに、掛け算の問題ゲームを開始しています。
まず、変数「a」と変数「b」に、掛け算の問題をランダムで出題するために、「〇から〇までの乱数」ブロックを使って、ランダムな数値を格納しています。
次に、「〇と聞いて待つ」ブロックで、足し算の問題を出します。
「〇と聞いて待つ」ブロックのテキストには、「変数「a」×変数「b」の答えは?」が設定されており、変数「a」と変数「b」は、プログラムを実行する度に数値が変わります。
そして、「〇と聞いて待つ」ブロックの下のテキストボックスに入力した値が、「答え」ブロックに格納されます。
答えを入力したら、次はチェック処理です。
「もし◇なら▢でなければ」ブロックを使って、答えが正解なら「正解!」といい、間違っていたら「不正解!」といった後に、答えを言います。
正解不正解をチェックするために、 1つめの値と2つめの値が同じかどうかを判別する「〇=〇(イコール)」ブロックを使います。
この左辺に、「〇*〇(掛け算)」ブロックを使って、「a×b」で掛け算の答えを算出します。
そして、右辺には、入力した値が入っている「答え」ブロックを入れています。
この2つの値が同じかどうか判断し、「もし◇なら▢でなければ」ブロックで条件分岐させているというわけです。
実際に、緑の旗をクリックして、掛け算の問題ゲームをやってみます。
「7×8の答えは?」と聞かれているので、正解の「56」を入力してみます。
すると、条件を満たした(=正解)ので、「正解!」と出ました。
次の問題では、「2×5の答えは?」と聞かれているので、わざと間違えて「20」を入力してみます。
すると、条件を満たさなかった(=不正解)ので、「不正解!」と出ました。
さらに、「正解は「10」です!」と正解を教えてくれました。
この中でも「〇*〇(掛け算)」ブロックを使って、「a*b」で掛け算した値「10」を求めています。
調べるブロック一覧
「調べる」ブロックには、4個のハットブロックと5個の真偽ブロックと11個の値ブロックの計20個のブロックが用意されています。
ブロックの色は、水色で統一されています。
調べるブロック | 動作 |
---|---|
〇に触れた 指定した対象物に触れたらtrueを、そうでないときにfalseを返す |
|
〇色に触れた 指定した色に触れたらtrueを、そうでないときにfalseを返す |
|
〇色が〇色に触れた 実行するスプライトの指定色が、もう一方の指定職に触れたらtrueを、そうでないときにfalseを返す |
|
〇までの距離 実行するスプライトから指定した対象物までの距離の値を返す |
|
〇と聞いて待つ 指定したテキストを表示させ、画面下の入力ボックスの入力が完了するまで待つ |
|
答え 「〇と聞いて待つ」ブロックの入力した値を返す |
|
〇キーが押された 指定したキーが押されたらtrueを、そうでないときにfalseを返す |
|
マウスが押された マウスキーが押されたらtrueを、そうでないときにfalseを返す |
|
マウスのx座標 マウスのx座標の値を返す |
|
マウスのy座標 マウスのy座標の値を返す |
|
ドラッグ▢ようにする ドラッグモードを設定する |
|
音量 音量の値を返す |
|
タイマー Scratchが内部で管理しているタイマー値を返す |
|
タイマーをリセット タイマーの値を「0.0」に戻す(タイマーをリセット) |
|
〇の▢(ステージの背景#) 指定のスプライトやステージの指定の値を返す |
|
現在の▢(ローカルタイム) 現在(ローカルタイム)の指定した「年」「月」「日」「曜日」「分」「秒」を返す |
|
2000年からの日数 UTCの2000年1月1日午前0時0分0秒からの経過日数を返す |
|
ユーザー名 作品を閲覧しているユーザー名を返す |