Scratch で九九の問題を出題してみよう
Scratch を使って九九の問題を出題するプログラムの作り方を紹介します。
完成したステージのイメージ
画面中央にスプライトがいます。このスプライトに九九の問題を言わせます。
下の入力ボックスに答えを入れて、正解なら「あたり!」、不正解なら「はずれ」と言わせます。
10問出題して、最後に正解した数を言います。
完成したスクリプト
まず変数を3つ作ります。
作るのは、「正解した数」と「右」と「左」という変数です。
「正解した数」はその名の通り、正解した数をカウントするための変数です。
「右」と「左」は、右の項と左の項を入れるための変数です。
変数の作り方は「データ」カテゴリにある「変数を作る」ボタンから作ることができます。
では、スクリプトを作っていきましょう。
まず「緑の旗がクリックされたとき」に「set [正解した数] to 0」で正解した数を0にしておきます。
次に「set [左] to 1から9までの乱数」、「set [右] to 1から9までの乱数」で左の項と右の項に1から9がランダムに入るようにします。
「乱数」を使うことで、こちらが一問ずつ問題を作らなくても、自動的に問題を作ることができます。
次はネコが出題する部分です。
「[左] と [×] と [右] と [は?] と聞いて待つ」ですが、これは演算のカテゴリにある「[hello] と [world]」というブロックを使います。
中に入る [左] や [右] はデータのカテゴリから持ってきます。
「〜と聞いて待つ」は調べるのカテゴリにあります。
順番に入れていけば「左×右は?」と聞いて入力ボックスが表示されるようになるはずです。
次は正解の判定です。
「もし [答え] = [左] * [右]なら」「[あたり!] と2秒言う」。これはそのままですが、左の数(1から9の乱数)と右の数(1から9の乱数)のかけ算が答え(入力ボックスに入力された数)とおなじなら「あたり!」と言います。
「[正解した数] を 1 ずつ変える」で、変数の正解した数を増やします。
「もし [答え] = [左] * [右]ではないなら」「[はずれ] と2秒言う」。これは左の数(1から9の乱数)と右の数(1から9の乱数)のかけ算が答え(入力ボックスに入力された数)と違っていたら「はずれ」と言います。
こちらは正解ではないので、[正解した数]の変数は変えません。
これを10回繰り返すと、10問出題されます。
左と右に入る数は毎回変わるので、毎回違う問題が出題されます。
最後に「正解した数は [正解した数] だよ!」と言わせて完成です。
この言葉も「[hello] と [world]」ブロックを使ってつなぎ合わせます。
左や右に入れる数を変えたり、計算部分を足し算や引き算に変えたり、繰り返す数を変えるなどすると、更に様々な問題を作ることができます。
それぞれのプログラムに応じて変更して下さい。