Scratchで足し算クイズをしてみる【単純なスクリプト】

Scratchで足し算クイズをしてみる【単純なスクリプト】 PROGRAMMING

こんにちは、mickです。

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

教育向けプログラミング環境のScratchのアカウントを作ってみました。

早速Scratchで遊んでみます。
Scratchの勝手を知るために簡単な足し算クイズを作ってみました。

準備知識

このプログラムではここを抑えておけばOKです。

  • 四則演算(足し算)
  • 条件分岐

四則演算というのは、足し算、引き算、かけ算、割り算のこと。今回は、「足し算クイズ」なので足し算を使っています。

またクイズに正解するのか、正解しないのかの判定を行います。

正解か正解しないかでプログラムの流れを変えることが「条件分岐」です。

なお、Scratchの中は低年齢の利用者がわかるようひらがなを使うなど配慮しています。

足し算クイズを作る

たしざんクイズ
たしざんクイズ

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

  1. プロジェクトを作る
  2. 背景とスプライト(キャラクター)を置く
  3. スプライトにスクリプトを組む(プログラミングする)
  4. テストしてから完成

できあがったスクリプト

できあがったスクリプト
できあがったスクリプト

完成したスクリプトです。
これはキャラクターを使った対話形式の足し算クイズになります。

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

まずはプロジェクトを作ります。

Scratchの公式サイトにいき、ログインをします。

画面上にあるメニューにある「作る」から新しいプロジェクトを作ります。

Scratchのプロジェクトを作る
Scratchのプロジェクトを作る

プロジェクトの名前は、「たしざんクイズ」としました。

プロジェクト名を変える
プロジェクト名を変える

背景とスプライト(キャラクター)を置く

プロジェクトを作ったら、最初に背景とスプライトを置きます。

スプライトというのは、ここではプログラムで動かすキャラクターと考えてもらっていいと思います。

不要なスプライトは、スプライトを選んでゴミ箱ボタンを使って削除します。

スプライトを削除する
スプライトを削除する

画面右下にある、「スプライトを選ぶ」と「背景を選ぶ」で画面のようにそれぞれを追加しました。

スプライトを選ぶ
スプライトを選ぶ
背景を選ぶ
背景を選ぶ
スプライトと背景を組み合わせたスクリプトの画面
スプライトと背景を組み合わせたスクリプトの画面

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

スクリプトを組む(ブロックを追加していく)
スクリプトを組む(ブロックを追加していく)

スプライトにブロックを追加していきます。

これを組み合わせていくことでひとつのスクリプトになります。

スクリプトというのは、プログラムと考えてもらっていいと思います。

左にあるブロックリストから処理をしたいブロックを選びます。
これを中央のスクリプトエリアにマウスでブロックを運びます。

これを繰り返すことでブロックを組み合わせ、スクリプト(プログラム)ができていくわけです。

ここでは、こんなイメージで書いています。

スクリプト=プログラム
スクリプトを組む=プログラミング

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

  1. あいさつ代わりのメッセージを出す
  2. 足し算のクイズを出す
  3. ユーザーに回答を入力してもらう
  4. 正解なら正解のメッセージを出す
  5. 不正解なら不正解のメッセージを出す
  6. 終了

スクリプトのスタートは、「イベント」から選びます。

イベント「フラッグが押されたとき」
イベント「フラッグが押されたとき」

あいさつ代わりのメッセージは、「見た目」から選びます。

見た目「○秒間台詞をいう」
見た目「○秒間台詞をいう」

足し算のクイズとユーザーの回答を入力は、「調べる」から選びます。

調べる「問いとユーザーの回答を待つ」
調べる「問いとユーザーの回答を待つ」

ユーザーの回答は、「調べる」の「答え」に入るようになっています。
それを「演算」に当てはめて正解しているか正解していないかを判断します。

調べる「ユーザーの回答は答えに入る」それを演算「正解か正解していないかを判断する」
調べる「ユーザーの回答は答えに入る」それを演算「正解か正解していないかを判断する」

そして「演算」の結果から条件分岐することを「制御」から選びます。

演算と制御「答え合わせと結果を表示する」
演算と制御「答え合わせと結果を表示する」

Scratchは、「イベント」や「見た目」など役割によって色が決まっています。
これは見やすさが向上するだけでなく、他者のスクリプトを見るときにとても助けになると思います。

最後にすべての処理を終了を「制御」からもってきます。

制御「すべてを止める」
制御「すべてを止める」

テストしてから完成

イベントを開始してテストする
イベントを開始してテストする

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

今回のスクリプトは、クイズはいつも同じで答えも同じになっています。
クイズに対して、正解ルートと正解でないルートがあります。

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

おつかれさまでした。

まとめ。

これまでC言語やJava言語などをプログラミングした経験から今回は電卓のような処理をするスクリプトを組み立ててみました。

Scratchでは他のユーザーが共有しているスクリプトで遊ぶことができます。
たくさんのスプライトを使ったり、スプライトに複数の動きをさせるといった複雑なものが目に付きやすい印象です。

イメージとしては、Scratchでスクリプトの練習をしたあと、C言語やJava言語を始める足がかりになるにはどんなスクリプトがいいかを考えた結果が今回の「たしざんクイズ」です。

また、今回はクイズが1問しかなく、答えもいつも決まっているスクリプトです。