今回つくるもの
難易度
今回はスクラッチで英単語帳を作っていきます。出題された日本語に対して、英語をタイピングしていきます。今回のプログラムを通して、”リスト機能”について学ぶことができます。さらに拡張機能の”音声合成機能”を活用して英語の発音も学べるようにします。これができれば、年号の暗記や、クイズゲームなどにも応用可能です。
以下が最終的につくる英単語帳です。スタートボタンを押すと、問題が始まりますので、試しにやってみてください。
問題と正解のリストを作る
まず、新しいプロジェクトを作ります。今回はネコのキャラクターをそのまま使います。
今回は出題された日本語を英語で答える単語帳を作りますので、問題(=日本語)と正解(=英語)のリストを作成していきます。
リストを作るには変数の下にあるリストを作るをクリックします。
以下のように新しいリストを作る画面がでてきますので、”問題”と”正解”の二つのリストを作成します。
すると、下図のように、問題と正解の2つのリストができて、画面にも表示されます。
リストを書いていく前に、大きさを整えます。右下の=のマークをぎゅーっと引っ張ることで大きさが変えられます。左右にめいいっぱい広げて形を整えてください。
つぎに、リストを書いていきます。左下の+マークを押すとリストが追加できます。問題と正解がそれぞれ対応するように記載します。例えば問題の1つめに「りんご」と書いて、正解の1つめに「apple」と書きます。同様にいくつかの単語を書いていきましょう。
ここまでできたら、リストの表示は邪魔になるので画面から消します。画面から消すには下図のようにチェックボックスのチェックをはずしてください。
単語帳のコードを書く
では、ここから実際に単語帳のコードを書いていきます。
ネコのコードの部分に以下のコードを記載してください。
問題の1番目というのは問題のリストの1番目という意味です。つまりりんごです。
正解の1番目というのは正解のリストの1番目という意味です。つまりappleです。
実際に緑の旗を押すと下の動画のようになります。ネコが”りんご”と言うので、下のボックスに ”apple”と記載してみてください。ネコが”正解!”と言ってくれます。逆に、間違った答えをボックスに記載すると”不正解”と言います。
同様に数字の部分を変えていくと問題が変わります。たとえば5番にすると問題はネコになります。
では、問題がランダムに出てくるようにしましょう。番号という変数を作り、今回の例ではリストが7まであるので、1〜7までの数字がランダムに出てくるようにします。リストを追加したらリストの数も変わるので1〜[問題の長さ]までの乱数、という設定をします。問題の長さというのはリストの数のことで、今回でいうと7になります。ちなみに正解の長さも同様に7になります。
そして番号をそれぞれ問題・正解の○○番目のところに入れます。
緑の旗を何度か押してみてください。押すたびに問題が変われば成功です。
ここまでできたら、連続して問題をだすように「ずっと」のループを加えましょう。また、不正解の時に正解を表示してあげるようにしましょう。「正解は」「apple」のようにふたつの言葉を組み合わせる時は下図のように(___と___)のブロックを使います。
この状態で緑の旗を押すと次々に問題がでてくるようになります。
スタートボタンを作る
ここまででも単語帳としては機能しますが、単語リストを作って、スタートボタンを押して、勉強を開始するというフローを作りましょう。
まずはスタートボタンから作っていきます。右下のネコのマークから、スプライトを選ぶをクリックして、Button2を選択します。
コスチュームのタブで、ボタンの上にスタートという文字をテキストツールを使って書きます。
次にコードのタブに移って、以下のようにコードを書きます。画面中央下部分に配置をして大きさを少し小さく調整します。そしてスタートボタンが押されるとスタートというメーッセージが送られ、スタートボタン自体は隠します。
次に、ネコのスプライトに移動してコードを編集していきます。まず緑の旗が押された時に、ネコのキャラクターは隠して、問題と正解のリストを表示するようにします。そして、スタートのメッセージを受け取った時(つまりスタートボタンが押された時)、2つのリストを隠して、ネコを表示します。
では、ここまでできたら、緑の旗を押してみてください。以下のように動けば成功です。
音声合成機能で発音させる
最後に拡張機能である音声合成機能を使って、英語の発音も学べるようにします。
拡張機能を使うには、まず左下の+ボタンから行います。
拡張機能の中にある音声合成を選択します。
そうすると、ブロック定義の下に、音声合成のブロックが出現します。このブロックは非常に単純で、言語を選択して、代入された言葉を読むだけです。この機能を使って、正解しても不正解でも発音をするようにプログラミングを組んでいきます。
以上で終了です。
最終的なコードはこちらからも確認できます。