提供: Japanese Scratch-Wiki

< () と聞いて待つ (ブロック)

() と聞いて待つ
[あなたの名前は何ですか?] と聞いて待つ
カテゴリ 調べる
タイプ スタック
追加 Scratch 1.4
Scratchキャットがしつもんちゅう

() ときいてまつブロック(調べるブロック/スタックブロック)とは、していしたぶんしょうとともに、がめんのしたのほうににゅうりょくボックスをひょうじするブロックである。ユーザーがもじをにゅうりょくしてEnterキーをおす、または、チェックマークをクリックすると、そのないようが答えブロックにはいる。もういちど、このブロックをしようすると、こたえブロックのなかみは、あとからにゅうりょくされたないようにじどうてきににかきかわる。

このブロックと答えブロックはScratch 1.4いこうでどうにゅうされたため、それいぜんのバージョンではしようできない。

しようれい

このブロックをつかうとユーザーがすきなテキストをにゅうりょくできるため、ユーザーとのやりとりがひつようなプロジェクトではひろくしようされている。 つぎによくあるしようれいをしめす:

  • チャットボット(おしゃべりロボット) — ユーザーからのじょうほうをうけとる
 [あなたのなまえはなんですか?] と聞いて待つ
((答え) と [さんですね。よろしくお願いします。])と言う
  • ユーザーにせっていさせる — ざひょう、いろなど
 [どのいろがよいですか?] と聞いて待つ
[色 v] の効果を (答え) にする
  • にゅうりょくをうけとる — ユーザーにめいれいしてもらう
[なんほいどうしますか?] と聞いて待つ
 (答え) 歩動かす

べつのブロックによるひょうげん

詳細は「代用ブロック一覧」を参照

ないようするないようがアルファベットのばあい、このブロックのどうさにちかいものが、つぎのコードでさいげんできる。

しらべるぶろっくをつかうほうほう

 (しつもん)と言う
[答え v]のすべてを削除する
[i v] を [0]にする
 <<(マウスのポインター v)に触れた> かつ <マウスが押された>>まで繰り返す
もし <(a v) キーが押された> なら
 [i v] を (1)ずつ変える
[答え v] の (i) 番目に [a] を挿入する
end
もし <(b v) キーが押された> なら
 [i v] を (1)ずつ変える
[答え v] の (i) 番目に [b] を挿入する
end
もし <(c v) キーが押された> なら
 [i v] を (1)ずつ変える
[答え v] の (i) 番目に [c] を挿入する
end
... //じっさいにはabcde......xyz01234...とすべてプログラムをくむ
もし <(7 v) キーが押された> なら
 [i v] を (1)ずつ変える
[答え v] の (i) 番目に [7] を挿入する
end
もし <(8 v) キーが押された> なら
 [i v] を (1)ずつ変える
[答え v] の (i) 番目に [8] を挿入する
end
もし <(9 v) キーが押された> なら
 [i v] を (1)ずつ変える
[答え v] の (i) 番目に [9] を挿入する
end
もし <(右向き矢印 v) キーが押された> なら
 [i v] を (1)ずつ変える
end
もし <(左向き矢印 v) キーが押された> なら
[i v] を (-1)ずつ変える
end
もし <(スペース v) キーが押された> なら
 [i v] を (1)ずつ変える
[答え v] の (i) 番目に [ ] を挿入する
end
 (0.001) 秒待つ
end
 [] と言う
Warning
メモ:
このスクリプトはかんぺきではない。くわしくは このプロジェクトをさんしょう

ここでは、リスト「こたえ」が答えブロックのかわりとなっている。

ハットブロックをつかうほうほう

つぎのほうほうをつかうと、キーがおされたじゅんばんににゅうりょくがしゅとくされる(こちらもにほんごにはたいおうしていない)

[a v] キーが押されたとき
[a] を [答え v]に追加する

[b v] キーが押されたとき
[b] を [答え v]に追加する

[c v] キーが押されたとき
[c] を [答え v]に追加する

//おなじように、すべてのキーについてついかする

[左向き矢印 v] キーが押されたとき
[答え v] の [last]番目を削除する// バックスペースきのう

@greenFlag が押されたとき::events hat
[答え v]のすべてを削除する
<(右向き矢印 v) キーが押された> まで待つ// このどうさでユーザーのにゅうりょくしゅうりょうとする
[答え用の変数 v] を []にする //からにする
[i v] を [0]にする
([答え v]の長さ::list) 回繰り返す// リストのないようを1つのぶんしょうにつなげる
[i v] を (1)ずつ変える
 [答え用の変数 v] を ((答え用の変数) と ([答え v] の (i) 番目::list))にする
end

(答え用の変数) // これがこたえになる

にゅうりょくボックスをキャンセルする

いちどひょうじしたにゅうりょくボックスをけす(キャンセルする)もっともすばやいほうほうは、[すべてを止める v]ブロックをしようするほうほうである。キャンセルしたあともスクリプトのじっこうをけいぞくしたいときは、[タイマー v] > () のときブロックをつかうとよい。

していしたびょうすうまっても「答え」がにゅうりょくされないばあい、キャンセルボタンがおされたばあいににゅうりょくボックスをキャンセルするには、つぎのようにすればよい。

@greenFlag が押されたとき::events hat
[変数 v] を [0] にする

[変数 v] を [1]にする
タイマーをリセット
[すべてを止める v] // このブロックがじっこうされたしゅんかんにテキストボックスがきえるので、テキストボックスをけしたいばしょにこれをおく

[タイマー v] > (0)のとき
もし <(変数) = [0]> なら
[このスクリプトを止める v]
end
... // つうじょうどうり、しょりがつづけられる

関連項目

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。