【連載】どれ使う?プログラミング教育ツール

プログラミングの基本をScratchでおさらいしよう(変数編②)

変数を使ってみよう!数をカウントするには?

これまでの数回で、「順次」「分岐」「反復」のプログラミングの3つの基本構造と、「変数」について、子ども向けプラグラミング環境のScratchを使って解説してきました。今回は、変数の続編として、回数を数える仕組みを作ってみましょう。

「変数」とは?

変数というのは、前回ご紹介した通り、プログラムで使う「値をいれておける入れ物」のことです。文字列や数字などを入れておくことができます。

「変数」のイメージ。ラベルのついた箱に、数字や文字列などを入れておくことができる

前回は変数に文字列を入れて、変数が修正に便利で効率のよいプログラムを作るのに便利なことを紹介しましたが、今回は数字を入れて、変数に入れる値をどんどん変えられる利点を見ていきます。

変数を作る

早速、Scratchで、回数を数えるプログラムを作りましょう。キャラクターをクリックした回数をカウントして、画面上に表示するプログラムを作ります。

Scratchで新しいプロジェクトを作ったら、ネコのキャラクターを選んだ状態でプログラムを作成します。[変数]メニューから[変数を作る]ボタンで新しい変数を作ります。回数を管理するので「count」という名前にします。

新しいプロジェクトを開き[変数]メニューを選択
[変数を作る]ボタンで変数作成画面を出し、変数名をつけて[OK]を押す

ネコをクリックした回数をカウントする

作成した変数「count」を使って、ネコをクリックした回数を数えるプログラムを作成します。プログラムは、次の図の通りです。

ブロックリストの変数「count」にチェックを入れると、画面上に回数をカウントする変数「count」の値が表示される。緑の旗でプログラムを実行し、ネコをクリックしたら回数が1ずつ増える

プログラム部分を拡大して詳しく説明します。

変数「count」の値を、ネコがクリックされるたびに増やす

ネコのスプライトが押されたときに、変数「count」に、変数「count」に1を足した値を入れるというしくみは、慣れるまではちょっとわかりづらいところです。図で見てみましょう。

変数「count」には最初0が入っている。ネコがクリックされたら、その0に1を足した値「1」を変数「count」に入れる。次にクリックしたときは、変数「count」に1が入っているので、その1に1を足した値「2」を変数「count」に入れる……と続いていく。

クリックするたびに今の変数「count」の値に1を足すので、回数が1ずつ増えていく、というわけです。こんなふうに、今変数に格納されている値に、毎回何かを足したり引いたりして仕組みをつくっていくことは、プログラミングではとてもよくやることです。日常生活ではあまり馴染みのない発想だと思うので、よくやる手法としてぜひおさえておいてください。

10回目で0にリセット!

このままだと、ひたすらカウント数が増えていくので、10回目に0にリセットされるしくみを加えてみましょう。次の図の通り、回数が10回目になったら、変数「count」に0を入れます。

ブルーの枠で囲ったプログラムを追加。変数「count」の値をチェックし続けて、10になったら、変数「count」の値に0を入れてリセット

これで、ネコをクリックし続けると、10回目で回数表示が0になるプログラムができました。

このままだと、見た目が楽しくないので、クリックするたびにネコが大きくなって10回目で元の大きさに戻るプログラムを、次の図の通り加えてみましょう。

ブルーの枠で囲ったプログラムを追加。プログラム実行時には基準の100%の大きさにする。ネコをクリックすると10%ずつ大きさが大きくなり、音が出る。10回目でまた基準の100%の大きさに戻す

ネコをクリックするとどんどん大きくなって、10回目で元の大きさに戻るので、メリハリができました。ネコが大きくなると同時に「ニャー」と鳴く音の効果も入れてあります。他にもいろいろな演出ができますから、みなさんも工夫して楽しい作品にしてみてください。

なお、今回仕組みがわかりやすいように、["変数名" を "変数名 + 1" にする]とプログラムしましたが、Scratchには["変数名” を "1" ずつ変える]という便利なブロックがあり、同じ役割をします。手軽に同じプログラムが作れますので試してみてください。

どちらのプロックでも同じ命令指示になる

変数の便利なところは、プログラムの実行中にどんどん値を入れ替えていけること。変数「count」の値を画面上に表示させておくだけで、現在の回数を見せることができました。同じようにして、ゲームの点数を管理するのにも使えますね。アイテムを取ったら1を足す……と得点はもちろん、敵にぶつかったら1を引く……とすれば減点することができます。

前回と今回の記事で変数の役割をおさえておくと、最初の自信になるはず。見本のプログラムに変数があっても、ドキドキせずに読み解くことができるようになると思います。とにかく、まずは簡単なプログラムからでいいので、どんどん真似をして作ってみて、どんどん慣れていきましょう。

「どれ使う?プログラミング教育ツール」これまでの記事

2019年~2022年4月まで「窓の杜」掲載

狩野さやか

株式会社Studio947のデザイナー・ライター。ウェブサイトやアプリのデザイン・制作、技術書籍の執筆に携わる。自社で「知りたい!プログラミングツール図鑑」「ICT toolbox」を運営し、子ども向けプログラミングやICT教育について情報発信している。