こんにちは、くのへです!
2024年7月からオンラインで小学4・5年生のお子さんにタッチタイピング、Scratch、パワーポイント、Fusionを教えています。
この記事では、ファーストゲートでScratchを習得する時に一番最初に学習してもらう「風船キャッチャー」についてザッとこちらで紹介させて頂きます!
なお、大人のスクールで「子供に教えるためのScratch講座」もやっていますが、その講座でもこの風船キャッチャーは必ず習得してもらっているテーマです。Scratchの最も基本的なプログラムであり、これを通して多くのことを学ぶことが出来ます。
講座内容のご紹介
風船キャッチャー
Scratchコーナーでは、基本テーマ「風船キャッチャー」を通して、Scratchを使ったゲームプログラミングの基本的な考え方や操作方法を完全にマスターしてもらいます。
この「風船キャッチャー」は次の動画のように、Scratchのメインキャラクターであるネコを操作し、風船を集めるゲームです。
このゲームの作り方を習得することで、次のような技術を習得出来ます。
・Scratchの基本操作
・「ずっと」(Do文やFor文に相当する繰り返し構文)
・「もし」(If文)
・得点を数える「変数」
・カウントダウンタイマー
ただし、変数やカウントダウンタイマーは全く初めてパソコンを触るお子さんにはちょっと難しいと思います。今の生徒さんはパソコンには慣れている様子であったため、変数やカウントダウンタイマーまで習得出来ましたが、ファーストゲートはそのお子さんに合わせ、変数やカウントダウンタイマーはもっと慣れてから教えるようにしています。
学習内容
まず、Scratchの基本操作を実際に操作しながら習得します。
まずはネコのキャラクターに「こんにちは」と言わせるところからスタートします。
(↓これはプログラムの起点である「旗が押されたとき」をセットしているシーン)
一通りプログラムを設定した後、旗を押して実行すると、「こんにちは」としゃべってくれます。
(↓こんにちは、としゃべらせることが出来たシーン)
次に、キーボードの左を押した時にネコに「こんにちは」としゃべらせるようにプログラムさせることを習得します。
次の図は「もし左キーが押されたら、こんにちはと言う」というプログラムをしたところです。
正しく動きそうなプログラムに見えますが、実は上記のプログラムは動きません。
何故動かないのか、、、それは、旗が押された瞬間にプログラムが進み、左が押されているかどうかが判定され、そして左を押していなければ、「もし」の次の行にプログラムが進み、そのままプログラムが終了してしまうためです。
そこで、次の図ように「ずっと」で囲むように改造することによって、常に左キーの入力を検出できます。
これは文章では非常に分かりにくいです。
この記事を読んで頂いている方も、ちょっと分かりにくかったのではないかと思います。
ですが、講座の形で動的に説明するとしっかりと理解出来ます。
なお、この「ずっと」は無限ループになります。
プログラミングを経験した人にとって、無限ループという概念はギョッとされるのではないかと思います。ですがゲームプログラミングの世界では、無限ループはよく使われる技術であり、「恒常ループ」と呼ばれるロジックになります。
この恒常ループの中で、「もし(If文)」を使うと、今回のように人間のキー入力を検出することが出来ます。
ということで、この「ずっと」と「もし」を使って、キャラクターを移動できるようにします。
次図のプログラムが左右キーでキャラを左右に動かすプログラムです。この「X座標」という単語も子供たちにとっては結構難しい概念になります。しかし、子供たちにもちゃんと理解できるように解説し、そして繰り返し練習することによって、子供たちはこれもスラスラ作れるようになります。
この後、さらに上下方向も動かせるようにし、ネコの基本的なプログラムは完成です。
この時点でネコを自由に動かせるようになりますので、子供たちはこの時点で結構嬉しそうにします。自分で作ったプログラムで何かが動く感動はやっぱりいいものです。
初めてプログラミングを行うお子さんには、私はここまでを2~3回 繰り返し練習させています。
次に、風船のプログラムを行います。
風船のキャラクター(:Scratchの中では「スプライト」という)を追加し、そしてネコに触れたらどこか別の場所に移動するプログラムを与えます。
(下の図は風船のスプライトを追加したシーン)
この「ネコに触れたら、どこか別の場所に移動する」というプログラムも、「ずっと」「もし」の組み合わせで作ります。
この「ずっと」と「もし」の組み合わせはScratchの世界では頻出であり、これを私は「ずっともしもしパターン」と呼んでいます。
次図のプログラムをセットすることで、ネコが風船を捕まえたら、別の場所に風船が移動するプログラムの出来上がりです。
ここまでが風船キャッチャーの基本プログラムであり、ここまでのプログラムでも十分に遊ぶことが出来ます。
この後は、変数を使って、集めた風船を数えるプログラムや、カウントダウンタイマーを設定するプログラムまで学習する工程があります。
しかし、まずはここまでを繰り返し練習して、しっかりと「ずっともしもしパターン」を理解してもらい、Scratchの基本を完全マスターしてもらうよう指導しています。
おわりに
この記事ではキッズスクールのScratch学習にて1番最初に行う「風船キャッチャー」について紹介致しました。
はじめはずっともしもしパターンなどのコードを覚えるだけではなく、Scratchの操作方法なども覚える必要があります。無理なく楽しく学習するために、このくらいの内容を繰り返し練習する指導を行っています。
ここで学ぶ内容はScratchのすべての基本になりますので、じっくりと時間を掛けて完全に理解してもらい次のステップに進むようにしています。
さあ、これからの未来のため、是非 一緒に楽しく学んでいきましょう!