【スクラッチ】洗濯機をプログラムしてみよう(音ブロック応用)

身の回りの物をプログラム
Scratch星人
Scratch星人

前回の電子レンジに続き、必要な家電である「洗濯機」をプログラムしていこうと思います。

音の切り替えに苦労する部分に対処する方法なども紹介しますので、最後まで読んでみてください。

洗濯機の基本機能

洗濯機には様々なボタンがありますが、今回は、最低限の3つに絞ろうと思います。

  • 電源ボタン:入・切を操作
  • スタートボタン:洗濯スタート
  • コースボタン:標準・おいそぎ・節約の3コースを選べるようにする

動作の流れは、以下のようにします。

  1. ふたを開ける
  2. 洗う枚数を入力
  3. ふたを閉じる
  4. 電源を入れる
  5. コースを選ぶ
    • コースによって、掛かる時間が異なるようにする
  6. 洗濯スタート
    • 洗い→すすぎ→脱水の順にする
  7. 洗濯終了

※動作の音をつける

スプライトの準備

6つのスプライトを用意しました。
必ずScratch星人と同じである必要はないので、参考にしてください。

洗濯機のスプライトを作成し、ふたが開いているものと閉じているもの、2つのコスチュームを用意しました。
(洗濯機が違うものになっているのは気にしないでください_φ( ̄ー ̄ ))

ボタン用のスプライト

ボタンに関係するものは5つのスプライトを用意しました。


ピンクのスプライトは、コースの切り替えを表示する、ランプのような役割です。

コスチュームがないスプライト

変数や音を管理する、空のスプライトを5つ用意します。

後ほど説明しますが、洗い・すすぎ・脱水の音が音管理のスプライトと分かれているのには理由があります。

プログラムの作成開始

合計11のスプライトのプログラムを紹介します。

洗濯機

コース一覧

ボタン(コース)

ボタン(電源)

ボタン(スタート)

コースランプ

変数管理

変数の役割は以下の通りです。

  • 洗い・すすぎ・脱水:それぞれの時間を管理
    • 時間は、分ではなく、秒にしています
  • 洗濯物の数:投入数
  • 音ON/OFF:1がON、0がOFF
  • 待機:音ON/OFFが正しく切り替わるための待ち時間

音管理

洗いの音

すすぎの音

脱水の音

Scratch星人
Scratch星人

洗い・すすぎ・脱水の音のコスチュームを分けた理由を解説します。

まだ鳴っている音を止め、次の音を鳴らすためには、音量のローカル変数を使って切り替える必要があります。

ローカル変数がよくわからない人は、以前の記事を参考にしてくださいね。

まとめ

洗濯機をプログラムしてみました。

コード自体はそこまで難しいものではありませんが、音管理をひとつのコスチュームで行うと、音を止めたいのに鳴り続けてしまうなどのトラブルが発生しますので、ぜひ一度試してみて、なぜ分けたのかを理解してみてください。

さらに、追加機能を加えるのもいいと思います。

  • コースを増やす
  • 洗濯物の量によって時間を変更する

今回紹介したプログラムは、一例です。

ぜひ自分でオリジナルの洗濯機を作成してみてください!
必ず、スキルアップに繋がりますよ( ・∇・)

コメント

タイトルとURLをコピーしました