Scratchで作った足し算クイズを計算クイズに改造

Scratchで作った足し算クイズを計算クイズに改造 PROGRAMMING

こんにちは、mickです。

プログラマ系SEとしてIT企業に11年勤務あり。

教育向けプログラミング環境のScratchのを試用中。

前回Scratchで作った足し算クイズに手を加えます。
足し算だけでなく、ひき算など四則演算ができる計算クイズに変えていきます。

使うこと

  • リスト(配列)

リスト(配列)は、足し算だけでなく、ひき算、かけ算、わり算、の四則演算を場合分け、条件分けするために使います。

足し算クイズを計算クイズに改造する

大まかな流れはこのようになっています。

  1. 気になる点から改善する方法を考える
  2. 元のプロジェクトをコピーする
  3. スクリプトを組む(プログラミングする)
  4. テストしてから完成

改造スクリプト

スクリプトの改造前と改造後
スクリプトの改造前と改造後

前回のスクリプトを改造したスクリプトです。

これまでは、足し算クイズだけでした。

これを、足し算だけでなく、ひき算、かけ算、わり算の四則演算のクイズが出されるようにしていきます。

長くなっているのは、単純に足し算だけでなくひき算などの四則演算を追加しているためです。

気になる点から改善する方法を考える

元のスクリプトの気になる点を考えます。

足し算クイズでは、その名前の通り足し算だけクイズがでます。

そこで足し算に加えてひき算やかけ算など四則演算を加えることにします。

元プロジェクトをコピーする

元のプロジェクトをコピーします。

元のプロジェクトを残すことで、いつでもやり直すことができます。

メニュー>ファイル>コピーを保存

プロジェクトをコピーする
プロジェクトをコピーする

コピーすると元のプロジェクトの名前に「Copy」が末尾に付いたプロジェクトができあがります。

プロジェクトの名前を「けいさんクイズ」にする
プロジェクトの名前を「けいさんクイズ」にする

今回はこれを「けいさんクイズ」としています。

スクリプトを組む(プログラミングする)

これまでのスクリプトを改造していきます。

実際の大まかなプログラムの流れはこちら

  • リスト(配列)を用意する
  • コンピュータが四則演算のいずれかのクイズを作る
  • 四則演算のクイズの正解を用意する
  • 数字と計算の種類との文字をつなげてクイズを組み立てる

リスト(配列)を用意します。

「変数」の「リストを作る」でリスト(変数)を作ります。

変数「リストを作る」
変数「リストを作る」

「変数」にある「リストを作る」で変数を作ります。
「すべてのスプライト用」で「新しいリスト名」を入力、そして「OK」で作成となります。

新しいリストを作る
新しいリストを作る

リストを使えば、数字を使って希望する文字を扱うことができます。

「たす」「ひく」「かけ」「わる」の文字を入れた順番に数字が割り当てられます。

リストに文字を追加する
リストに文字を追加する
  • 文字「たす」を数字「1」
  • 文字「ひく」を数字「2」
  • 文字「かけ」を数字「3」
  • 文字「わり」を数字「4」

これで例えば「1」の数字で「たす」の文字を取り出すことができます。

「変数」と「演算」を使って、四則演算のいずれかのクイズを作ります。
そして乱数を使って、「1」「2」「3」「4」のいずれかの数字を生成します。

四則演算のいずれかのクイズを作る1
四則演算のいずれかのクイズを作る1

この数字から「たす」「ひく」「かけ」「わる」の文字を決めて、クイズの正解を作ります。

四則演算のいずれかのクイズを作る2
四則演算のいずれかのクイズを作る2

クイズの文字を作って、ユーザーにクイズとして問いかけます。
そして、答えを判定して終了です。

クイズを作って、ユーザーに問いかける
クイズを作って、ユーザーに問いかける

すべての処理が終わったら、リストの中をすべて削除しておきます。
こうしないと、次のクイズをするときにリストの中が次々と貯まっていきます。

リストはすべて削除する
リストはすべて削除する

補足です。
わり算に関しては、答えのみとして余りは考慮していません。

テストしてから完成

イベントを開始してテストする(1回目,2回目,n回目)
イベントを開始してテストする(1回目,2回目,n回目)

スクリプトが完成したら、早速動かしていきます。

今回のスクリプトは、スクリプトを動かすごとに異なるクイズになっています。
1から10の間の数字で四則演算をするようになっています。
そして、正解と正解でないルートにいくようになります。

テストをして、自分の思うようなスクリプトの動きができていれば完成です。

おつかれさまでした。

まとめ。

前回Scratchで作成した足し算クイズを計算クイズに改造しました。
これで足し算だけでなく、ひき算などの四則演算がクイズとしてでてきます。

今回も前回より少し大きくなったプログラムが完成しています。
最初のうちは、このように少しずつプログラムを大きくしていくことをオススメしています。

最初から完成を目指すと、完璧にできないことが多いので途中で止めてしまう可能性が高くなるからです。

プログラミングは小さなプログラムの組み合わせ。
少しずつ少しずつ、プログラムを大きくしていく習慣をつけるようにしてみてください。

すると、大きなプログラムを作れるようになります。
そして、プログラムでは避けては通れない修正も小さく済む可能性を高くすることができます。

この記事ではそのことが少しでも表現できていれば幸いです。

初稿 2020/08/22