初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Scratchで はじめようゲームプログラミング

8.しゃべる算数ドリルを作ろう

 

今回もゲームは作りません。
テキスト(文字列)の入力と音声合成の機能を使って、少し実用的なプログラミングに挑戦したいと思います。

ここではもうコピーの方法を説明していません。
基本的な操作方法が身に付いていないときは、当講座を初めからやり直すのもおすすめです。 なんか面倒だと思うかもしれませんが、基礎力を高める一番簡単な方法です。

 

 

何を作るの?

下にこれから作る作品を貼っておきます。(注意:音が出ます)

全5問の足し算ドリルです。答えを半角の数値で入力してエンターキーを押してください。何を入力しても間違いになるときは全角で入力していないか確認してください。

画面が表示されないときはここをクリック

 

入力の受け付けタイミングが遅く感じるかもしれません。ゆっくりプレイしてください。

課題としてシンプルにするため、余計な機能はありません。
本当は、問題の一覧表示や出題数の変更機能なども欲しかったですね。

 

 

背景を入れよう

新しくプロジェクトを作りましょう。
作るをクリックします。

新しくプロジェクトを作る

 

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

作品の名前を入力する

 

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

背景を入れる

 

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

背景の絵を選択する

 

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

背景を入れたステージ

 

 

2つの数を作ろう

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

2つの変数を用意する

 

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

2つの変数を作る

 

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

旗が押されたときを使う

 

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

変数の初期化を行う

 

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

変数に乱数を入れる

これで2つの変数を乱数で初期化するという処理ができました。

 

 

問題を表示しよう

問題の表示を行います。
正確には、問題を表示して入力欄を出し入力待ちをする処理を作ります。

調べるからあなたの名前は何ですか?を聞いて待つを持ってきます。

入力処理を作る

 

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

文字列の連結ブロックを使う

 

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

3つのブロックを組み合わせる

 

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

4つの文字列を連結させる

 

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

連結の結果を表示してみる

 

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

文字列の間にすき間を入れる

 

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

聞いて待つの中に問題の表示ブロックを入れる

 

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

問題表示の実行テストを行う

 

 

答え合わせをしよう

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

条件判断ブロックを使う

 

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

足し算と等しいか判断するブロックを使う

 

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

足し算を確かめる計算式を作る

 

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

2つの変数を足す

 

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

答えを右辺に入れる

 

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

条件判断ブロックに入れる

 

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

結果の表示を行う

 

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

実行テストを行う

 

 

問題を繰り返し行う

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

ループブロックを使う

 

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

5回繰り返す

ここでテストを行うとメッセージがほとんど見えません
表示のあと、すぐに次の問題を表示してしまうからです。
このようなときは待ち処理を入れるのが普通ですが、今回は入れません。理由はあとで分かります。

 

問題が終わったことを知らせるメッセージを表示しましょう。
見た目からこんにちは!と言うを持ってきて「おわりです」に変更します。

問題の終わりを知らせる

 

 

しゃべらせよう

音声合成の拡張機能を追加します。

音声合成の拡張機能を追加する

 

音声合成を選びます。

音声合成を選ぶ

 

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

音声合成のブロックが追加される

 

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

4箇所にしゃべるを入れる

テストしてみてください。
先ほど見えなかった「正解です」「間違いです」が確認できるようになりました。
音声合成が待ち処理の代わりになったのです。

 

と聞いて待つの中にあるブロックをコピーしてとしゃべるの中に入れます。

問題をしゃべらせる

 

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

問題の内容を文章にする

 

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

しゃべるの前に問題を表示する

これで問題の表示と音声が同時に行われ、続けて入力の受付になります。
「しゃべる算数ドリル」の完成です。お疲れさまでした。

音声合成って楽しいですね。みなさんも活用してみてください。