今回は「scratch」で変数プロックや演算ブロックを使って、簡単な計算ゲームを作ってみたいと思います。
計算ゲームと言っても、ただ問題が画面に表示されるだけではちょっと味気ないので、今回はScratchについている拡張機能「音声合成」を追加して「しゃべる算数ドリル」を作っていきたいと思います。
目次
Scratchの拡張機能「音声合成」を組み込んでみよう
まず、プログラムを組む前に「しゃべる算数ドリル」を作るための下準備をしていきましょう。
Scratchの拡張機能である「音声合成」を使うと、数字や言葉を喋れる機能が追加されます。
今回はこの機能を使って、問題が表示されるのと同時にその問題を喋ってもらおうと思います。
まず、Scratchの画面を開いたら左下にあるマークをクリックします。
拡張機能の一覧が表示されますので、「音声合成」をクリックします。
音声合成のブロックが追加され、画面左下に「音声合成」の文字が追加されていれば無事、拡張機能が組み込まれたことになります。
計算ゲームには必須!「変数」を作ろう
次に計算ゲームにはまず必須になる変数を新しく作っていきます。
新しい変数に名前をつける画面になりますので、「乱数A」と名前を付けておきます。
「すべてのスプライト用」「このスプライトのみ」はどちらにチェックを入れても構いませんが、ここでは「すべてのスプライト用」チェックを入れておきます。
名前を入れ終わったら「OK」をクリック。
そして、もう一度同じ作業をくり返し、「乱数B」という変数も作っておきます。
ふたつの変数を作ったら変数ブロックのところに乱数A、乱数Bのブロックが追加されていますので、左側のチェックを外しておきます。
これで、しゃべる算数ドリルの下準備は完了です。
変数・乱数って何?
「変数」とは数字や文字を出し入れする為の入れ物で、PCで言うところの「フォルダ」のようなものです。
変数には名前をつける必要があり、例えばフォルダだったら中に何が入っているのか一目見て分かるような名前をつけますよね(写真が入っているフォルダだったら「写真」とか「picture」とか)
それと同じように、変数にも一目見て中身が分かるような名前をつけてあげることが重要です。
そして「乱数」というのは、規則性を持たない数字ということです。
要はランダムで何が出るか分からないということですね。
よく、乱数の例で出されるのがサイコロです。
サイコロは「1、2、3」と順番に目が出たからといって、4回目に必ず4が出るわけではありませんね。
当然、4が出る可能性もありますし、他の数字が出る可能性もあります。これは何回サイコロを振っても同じです。
このように「次に何の数字が出るのか分からない」のが乱数になります。
しゃべる算数ドリルのプログラムを組んでいこう
それでは実際にプログラムを組んでいきますが、ここでは足し算の問題が出題されるようにしていきたいと思います(スプライトは「cat」、背景は「room2」に設定してあります)
組むプログラムは以下のようになります。
注意点として、入力する数字は半角にするようにしましょう(見えづらい時は写真をクリックしていただけると拡大します)
5回繰り返す=>問題を5問出します。
乱数A(B)を〇~〇までの乱数にする=>出題される数字を乱数で決めています。ここの数値を変えていけば3桁や4桁の足し算も出題されるようになります。
乱数Aと+と乱数Bと=?と言う=>喋っている間も問題を表示させておきたいので、後に出てくる「聞いて待つ」のブロックと同じものを表示させています。
もし乱数A+乱数B=答えなら=>ここで演算ブロックを使って答え合わせをしています。
ちなみにですが、Scratchは形の違うブロックは組み合わせられないようになっていますが、「乱数Aと+と乱数Bと=?と言う」あたりのブロックの組み方がやや複雑なので、一応作り方を紹介しておきますね。
引き算・掛け算・割り算の問題を出したい時は?
足し算以外の四則演算(足し算、引き算、掛け算、割り算のこと)を出題させたい時は以下の赤枠の中を変えていきます。
「~としゃべる」の部分は記号にしてしまうと喋らなくなってしまったので、ひらがなで「かける」というようにしました。
もちろん他の計算の時も「たす、ひく、わる」というような表記にして構いません。
ここでの注意点は、実際の計算とプログラミング時の計算では使う記号が違うということですね。
「+」と「-」は変わりませんが、「×」は「*」、「÷」は「/」という記号が使われるようになります。
Scratchで計算ゲーム 誰でも簡単「しゃべる算数ドリル」の作り方のまとめ
いかがでしたか?
プログラミングは理屈を考えてしまうと難しくなってしまうので、最初はプログラムをそのまま真似するだけでも良いかと思います。
スプライトや背景を変えるだけでも見た目がガラッと変わりますし、入力した数値や文字を変えるだけでも実行動作が変わりますので、「何を変えたらどう変わるのか」を色々試してみて下さいね。