Scratchで はじめようゲームプログラミング
8.しゃべる算数ドリルを作ろう
今回もゲームは作りません。
テキスト(文字列)の入力と音声合成の機能を使って、少し実用的なプログラミングに挑戦したいと思います。
ここではもうコピーの方法を説明していません。
基本的な操作方法が身に付いていないときは、当講座を初めからやり直すのもおすすめです。
なんか面倒だと思うかもしれませんが、基礎力を高める一番簡単な方法です。
何を作るの?
下にこれから作る作品を貼っておきます。(注意:音が出ます)
全5問の足し算ドリルです。答えを半角の数値で入力してエンターキーを押してください。何を入力しても間違いになるときは全角で入力していないか確認してください。
入力の受け付けタイミングが遅く感じるかもしれません。ゆっくりプレイしてください。
課題としてシンプルにするため、余計な機能はありません。
本当は、問題の一覧表示や出題数の変更機能なども欲しかったですね。
背景を入れよう
新しくプロジェクトを作りましょう。
作るをクリックします。

作品の名前を入力します。
私は「しゃべる算数ドリル」にしました。

背景を入れます。
ページの右下にあるステージの枠の下のボタンをクリックします。

背景の絵を選択します。
どの絵でもいいです。私は宇宙をクリックしてSpaceを選びました。

背景の入ったステージは次のようになります。

2つの数を作ろう
このドリルは2つの数字を使って足し算をします。
ですから、変数が2つ必要になります。

「乱数A」と「乱数B」という変数を一つずつ作ります。

変数に乱数を入れるところを作ります。
まずイベントから旗が押されたときを持ってきます。

変数に戻って変数を0にするを2つ持ってきます。
名前は「乱数A」と「乱数B」に変更しましょう。

変数に乱数を入れます。
演算から1から10までの乱数を持ってきます。
範囲を 1 から 9 までに変更します。

これで2つの変数を乱数で初期化するという処理ができました。
問題を表示しよう
問題の表示を行います。
正確には、問題を表示して入力欄を出し入力待ちをする処理を作ります。
調べるからあなたの名前は何ですか?を聞いて待つを持ってきます。

4つの文字列を連結させます。
そのため演算からりんごとバナナを3つ持ってきます。

3つのブロックを組み合わせます。
1つはりんごの枠に、もう1つはバナナの枠に入れます。

2つの変数と2つの文字列を連結させます。
下図を見ながら変更してください。

ブロックをクリックしてみてください。
下図のように結果が表示されます。(数は違うと思います)

このままでもいいのですが、すき間を入れたいと思います。
+ と = の左右にスペースキーで空白を入れてください。
ブロックをクリックすると、文字の間のすき間が確認できます。

いま組み合わせたブロックを◯を聞いて待つの中に入れます。

実行してみましょう。
問題を表示して、入力欄を表示し入力待ちになりました。

答え合わせをしよう
答え合わせをします。
制御からもし なら でなければを持ってきます。

演算から○+○と○=○を持ってきます。

足し算の計算式を作りましょう。
○=○の左側に○+○を入れます。

「乱数A」と「乱数B」を足し算のブロックに入れます。

調べるの答えを計算式の右辺に入れます。
これで足し算した結果とユーザーが入力した値の比較ができます。

条件判断ブロックに入れます。

見た目からこんにちは!と言うを入れます。
上段は「正解です」、下段は「間違いです」にします。

これで問題を作り、答えの入力から結果を表示する仕組みができました。
正しく動くかテストしてみましょう。
まだ繰り返しの処理がないので、再実行してください。

問題を繰り返し行う
問題を繰り返す仕組みを入れます。
制御から10回繰り返すを持ってきて全体を囲みます。

繰り返しを 5 回にします。

ここでテストを行うとメッセージがほとんど見えません。
表示のあと、すぐに次の問題を表示してしまうからです。
このようなときは待ち処理を入れるのが普通ですが、今回は入れません。理由はあとで分かります。
問題が終わったことを知らせるメッセージを表示しましょう。
見た目からこんにちは!と言うを持ってきて「おわりです」に変更します。

しゃべらせよう
音声合成の拡張機能を追加します。

音声合成を選びます。

音声合成のブロックが追加されます。

こんにちはとしゃべるを下図の場所に入れます。
「正解です」「間違いです」「おわりです」に変更しましょう。

テストしてみてください。
先ほど見えなかった「正解です」「間違いです」が確認できるようになりました。
音声合成が待ち処理の代わりになったのです。
と聞いて待つの中にあるブロックをコピーしてとしゃべるの中に入れます。

しゃべらせる問題の内容を文章にします。
+は「足す」に、=?は「、はいくつですか?」に変更します。
読点 “、” を入れる理由は、しゃべりの中の間を開けるためです。
? は疑問系の発音にするためです。

テストを行うと、問題が表示される前に音声だけ聞こえてきます。
これを回避するためこんにちは!と言うを追加します。
と聞いて待つの中のブロックをコピーしてください。

これで問題の表示と音声が同時に行われ、続けて入力の受付になります。
「しゃべる算数ドリル」の完成です。お疲れさまでした。
音声合成って楽しいですね。みなさんも活用してみてください。
