質問さん    作品例:質問さん.mwx

ランダムに質問が出てきて、正解を答えるとピンポンと音を出すようにしてみよう。
<学習内容>
・ランダムにことばを選ぶ
・効果音の並列処理
・リスト処理の考え方
 を左クリックすると 質問します。

 正解すると、ピンポンとなります。

 間違えると、オップスとなります。
<考え方>
・クリックするたびに違う行を選ぶことで、毎回、違う質問をします。
・行の中身をリストという考え方で、問題と答えに分けてつかえるようにします。


<プログラミング> 質問さんのもとを 左クリックしてはじめましょう。 


1.プログラムを考える
(1)手順にプログラムを書きます。
 英語  日本語
to GO
launch [fipo]
let [qqq textpick "q]
let [q1 first parse :qqq]
let [a1 last parse :qqq]
question :q1
ifelse (parse answer) = :a1
[pipon]
[oops]
end
手順は GO
始める「fipo」
仮の名前は「qqq 行のどれか ”q」
仮の名前は「q1 最初 リストにしたもの :qqq」
仮の名前は「a1 最後 リストにしたもの :qqq」
質問 :q1
もしどちらかを (リストにしたもの 答え) = :a1
「pipon」
「oops」
終わり
launch[fipo] で効果音fipoを並列処理で流します。並列処理にすると効果音が聞こえる前に次の行に進みます。
textpick "q を実行すると、テキストボックスの中のどれかの行を選びます。
・テキストボックスの中に書かれているときの [いくつですか][10] は、[  ] (「 」でも同じ)で区切られ2つのリストとなっている。
 しかし、 textpick で選ぶと、:qqq の中身の [いくつですか][10] は[  ]が区切り記号ではなく、1文字として扱われ、全体が1つのリストになってしまう。
 そこで、parse :qqq として、もう一度、[いくつですか][10] を2つのリストにしている。
  first parse :qqq とすると、その最初のリストである いくつですか になる。
・リストを使うことで、ことばをまとまりとして扱うことができて便利です。