Scratch 3.0 でえいたんごゲームを作ってみた

Scratch 3.0を使って、こども向け英単語学習ツールを作ってみました。

イラストが表示されるので、それを英語でなんというかを考えます。分かったら「○」を、分からなかったら「×」を押せば、何度でも出題してくれます。

分からないものは、右下の聞いている人をクリックすると、音声合成で英単語をしゃべってくれます。

なお、素材はいらすとやさんからダウンロードさせていただきました。

映像でも同じ内容を収録しているので、合わせてご参照くださいませ。

問題を作成しよう

Scratchを起動したら、「背景を選ぶ」から適当な背景を選び、「スプライトを選ぶ→スプライトのアップロード」で、素材を1点アップロードします。

そして、追加したスプライトのコスチュームの編集で、「コスチュームをアップロード」として、すべての素材をアップロードしましょう。

そしたらこのスプライトに、次のようなプログラムを作っていきます。

これにより、まず「問題」という変数に1から12まで(12は、アップロードしたコスチュームの数)で乱数を作り、その乱数まで「次のコスチュームにする」を実行することで、コスチュームを変えます。これで、ランダムで問題が出題されるようになりました。

音声合成でしゃべらせよう

Scratchには「拡張機能」という機能で、後から機能を追加できます。画面左下から、拡張機能の一覧を表示して「音声合成」を追加しましょう。

追加された「Text to Speech」というブロックグループから図のようなプログラムを作成すると、「Hello」としゃべるようになります。

「Helloとしゃべる」ブロックは不要なので削除しましょう。

そしたら、リストを作成してスプライトのコスチュームに合った英単語を並べたテキストファイルを作成します。ここでは、次のような職業の英単語を作りました。

Cook
Dentist
Doctor
Fire Fighter
Musician
Nurse
Pianist
Pilot
Police Officer
Soccer Player
Student
Teacher

リストを作って右クリックし、「ファイル読み込み」から読み込みましょう。

そしたら、ステージの右下にヘルプ用のアイコンを追加して、このスプライトに図のようなプログラムを作成します。

これで、リストの中から今出題されている問題の単語を音声合成で読み上げてくれます。

次の問題を出題しよう

画面左下に、○×のボタンを配置し、×ボタンをクリックしたときに次の問題が出題されるようにしましょう。そのためには、メッセージを使ってプログラムを図のように分割し、「問題作成」というメッセージをどこからでも利用できるようにします。

さらに、「問題作成」のメッセージを受け取ったプログラムからは「出題」というメッセージを送り、これをイラストが表示されるスプライトが受け取って、コスチュームを変更するようにしましょう。

×ボタンのプログラムは図のようになります。

「できた」フラグを使って、分かった問題は出題しないようにしよう

最後に、分かった問題は「○」ボタンを押したら、出題されないようにしましょう。これには、フラグ処理(0または1を入れて状況を判断する処理)をするためのリストを新しく作成します。ここでは「できた」という名前にしました。

このリストは、最初は全部の問題が「0」になるように問題と同じ個数の0を準備する必要があります。そこで、ステージのプログラムを図のように変更して、「単語」リストの個数と同じ数だけ0を追加する処理を行ないましょう。

そしたら、「○」のスプライトに図のようなプログラムを作って、「できた」リストの現在の問題の場所を「1」に更新します。

後は、ステージに設定したプログラムで問題を作成するときに、図のような「○○まで繰り返す」のブロックを使って、「できた」リストが0になっている問題が出題されるまで、繰り返し乱数を作っていきます。

これでプログラムの完成です。

Scratchは、ちょっとした処理を書くにも、たくさんのブロックを組み合わせなければならないのは大変ですが、音声合成などを非常に手軽に使えたりするのは魅力的です。

Scratchの書籍

この記事を書いた人

たにぐち まこと

『よくわかるPHPの教科書』や『マンガでマスター プログラミング教室』の著者。 ともすた合同会社で、プログラミング教育やこども向けの講座などを Udemyや YouTubeで展開しています。