こんにちは、ECF Techブログ
担当 Michiharu.Tです。
今回は久しぶりのScratchの教材ネタをご紹介したいと思います。テーマは「自動はんばい機をつくろう!」です。プログラミング学習の定番のテーマですが、作ってみて改めてその奥深さに気づくことができました。
自由にご利用いただける無料画像素材も提供していますので、ぜひチャレンジしてみてくださいね。
完成した作品は、Scratch共有機能で提供しています。下記のリンクからご利用ください。
対象読者
- Scratchの基本的な操作ができる。経験がある。
- Scratchを使ったプログラミング教育に携わっている
素材画像
スプライトとプログラムの作成
自動はんばい機のスプライト
自動はんばい機のスプライトは、画像を読み込んで作成するだけです。プログラムはありません。
硬貨のスプライト
まずはそれぞれの硬貨のスプライトです。提供画像をそのままスプライトとして読み込むと次の6つのスプライトができあがります。
提供画像はサイズがすべて同じなので、それぞれの硬貨のサイズになるように、スプライトの大きさを調整しましょう。
今回のサンプルでは、それぞれのサイズを次のようにしています。
金額 | サイズ |
---|---|
1円 | 50 |
5円 | 66 |
10円 | 66 |
50円 | 66 |
100円 | 66 |
500円 | 75 |
プログラム
プログラムは次のようになります。変数きんがくはあらかじめ作成されているものとします。
スプライトの金額によって、赤い四角のところの数値がかわります。100円のスプライトなら100とします。6つすべてをそれぞれの数値にしましょう。
ねだんのスプライト
ねだんのスプライトは、Scratchの描画機能で作成しました。テキストを使って単純に数字を描いていくだけです。見た目の調整をうまくやりましょう。こちらもプログラムはありません。
描画機能については、こちらをご覧ください。
ボタンのスプライト
プログラム
ボタンのプログラムは次のようになります。今回のスプライトの中では1番機能が詰まっていると言えるでしょう。
赤い四角で囲まれた2つの数値は、ドリンクの金額と合わせる必要があります。ただし「金額を~~ずつ変える」の部分は金額が減る部分になるため、マイナス「-」をつける必要があります。
また、変数きんがくが足りない場合には、「足りないを送る」が使われています。これは、プログラミングの考え方のひとつであるエラー処理に当たる部分です。自動はんばい機を使う人が、どんな行動をするかを予想してプログラムを作る必要がある。という点を学ぶひとつの材料です。
「オレンジを買った」の部分は、他に下のメッセージを用意して使います。
飲み物のスプライト
プログラム
飲み物のプログラムは次のとおりです。
座標は自動はんばい機の取り出し口に合わせています。
メッセージは飲み物ごとに次のものに変わります。3つのスプライトでプログラムが異なるのはこの部分だけです。
ねこのスプライト
おなじみScratchねこを使って、スプライトを1つ作ります。
プログラム
プログラムは次のとおりです。ちょっと役割が少ないですが。。。(^ ^;)
きんがくが足りない時に、それを教えてくれます。
返却ボタンのスプライト
プログラム
ここにもプログラミングの大事な視点、初期化があります。最初の状態に戻すことです。ゲームアプリなどでも、複雑な設定を最初の状態に戻したいときのためのボタンなどが用意されていますね。
これで基本の機能は完成です。動かして試してみましょう。
アレンジしよう
ここからは演出に彩りを加える部分をいくつかご紹介したいと思います。
コインを入れて音を鳴らす
コインが入っていくアニメーションと入る音を鳴らしましょう。プログラムを次のように作り変えます。下は1円のスプライトの例です。
飲み物が落ちる時に音を鳴らす
飲み物が落ちる時に音をならしてみましょう。それぞれの飲み物のプログラムを次のようにします。
今回使ったのは、ドアを閉める音です。ぜひ、適切なものを探してみてください。
自動はんばい機を飾りつける
自動はんばい機にスプライトを貼りつけて、ちょっとだけかざってみましょう。
おわりに
これで完成です。さらに色んなカスタマイズをして楽しんでみてください。下のようなテーマのプログラムを考えてみると楽しいかもしれません。
- 1円と5円は受けつけない
- 買えるようになるとボタンが光る