【Scratch】ソーシャルディスタンスwithコロナウイルス
1 コロナウイルスの猛威(もうい)
コロナウイルスで世界中の人々が苦しんでいます。
2020年7月3日時点で死者は510,000人、感染者は10,690,000人に達しています。
自身がかからないようにするだけでなく、他の人にもうつさないよう心がけることが大切です。
みんなでこのコロナ危機を乗り越えましょう!!
<参照>
NHK新型コロナウイルス特設サイト/世界の感染者数
新型コロナウイルスを想定した「新しい生活様式」の実践例を公表しました/厚生労働省
新型コロナウイルス感染症への対応について(高齢者の皆さまへ)/厚生労働省
2 【Scratch】ソーシャルディスタンスwithコロナウイルスの内容
aキーを押すと消毒液が発射されます。これでコロナウイルスを無菌化できます。
kキーを押すとマスクが発射されます。これでオバケやガイコツはマスクを着用するようになります。
またコロナウイルスが伝染らないようにオバケやガイコツから離れましょう。主人公の手がオバケや骸骨に触れると減点されます。
30秒耐えたら、あなたの勝ちです。
スコアがマイナスになったら、ゲームオーバーです。
3 【Scratch】ソーシャルディスタンスwithコロナウイルスの準備
いつものように、scartchのスタータープロジェクトを開きます。
URLは下記のとおりです。
https://scratch.mit.edu/projects/409284841
開きますと、火山のある草原に、手を広げた女の子がいることを確認してください。
もうひとりの女の子MAx、クマ、キリンは今回使う予定はありません。
主人公jordynの代わりにMaxを、オバケやガイコツ代わりとしてクマ、キリンを使うことが可能です。
ただし、使うためにはマスク着用のコスチュームを加える必要があります。
4 主人公の左右の動き
上からコロナウイルスが落ちてきますので、主人公は下に位置しているのがいいでしょう。
開始位置のx座標はお好きな位置にどうぞ。
主人公は右矢印キーと左矢印キーで動きます。
5 マスクと消毒液の発射
新しいメッセージ「マスクしてね」「消毒してね」を作ります。
主人公のスプライトで、aキーが押されたとき、「消毒してね」を消毒液のスプライトに送ります。
kキーが押されたとき、「マスクしてね」をマスクのスプライトに送ります。
6 マスクと消毒液の動き
マスクと消毒液は、ともに主人公から発射されて、上に徐々に動いていきます。
発射されるまでは隠れています。
<マスクのブロック>
<消毒液のブロック>
7 オバケとガイコツの動き
オバケはゲーム開始時には1人ですが、増殖(ぞうしょく)していきますので、クローンを使います。
オバケはゲーム開始時には上空にいて、だんだんと下に降りてくるようにします。
<オバケのコード>
同じようにガイコツの動きも設定します。
歩数や制御秒をオバケとちがうように設定するのもいいでしょう。
<ガイコツのコード>
8 コロナウイルスの発射
コロナウイルスはガイコツがクローンされたタイミングで、ガイコツのy座標が40より上だったら発射されるようにします。
そのためには、まずガイコツのスプライトでコードを作る必要があります。
ガイコツからコロナウイルスへの伝達は新しいメッセージ「ウイルス発射」を使います。
<ガイコツのコード>
今度は、コロナウイルスのコードを作っていきます。
コロナウイルスは最初は隠れていて、ガイコツからの「ウイルス発射】メッセージを受けて出現し、下に落ちていきます。
<コロナウイルスのコード>
9 消毒液を浴びたコロナウイルス
コロナウイルスは消毒液を浴びると、元気そうなオレンジ色からグレー色に変化し、その後、消滅するようにします。
<コロナウイルスのコード>
9+ チャレンジ01
・コロナウイルスが消毒液を浴びたときに、またはコロナウイルスが消えた瞬間(しゅんかん)にゲーム音を鳴らすことはできますか?
・コロナウイルスのコスチュームには、マスクをしたコロナウイルスも隠されています。これを使って、何か新しい動きや変化を作ることはできますか?
10 背景の変化
背景には既に、勝利の画面とゲームオーバーの画面が入っています。
そこで、新しい変数「スコア」「タイム」を作って、どうなったら勝利になるか、どうなったらゲームオーバーになるか考えてみましょう。
わたしの考え
<主人公のスプライト>
ゲームが難しいと感じたら、ゲームオーバーの設定を例えば、「スコアがマイナス30になったら」など、やさしくすることもできます。
11 オバケとガイコツがマスクに触れたら
オバケとガイコツが下からのマスク発射によりマスクに当たったら、マスク着用のコスチュームに変わるようにします。
大きさも少し小さくなるように(例:70%)もします。
オバケとガイコツにマスクが当たったらそれぞれ得点されるようにします。
<オバケのコード>
<ガイコツのコード>
12 ソーシャルディスタンス
他の人との距離を保たなくてはいけません。
ソーシャルディスタンスの距離はだいたい2mなんだそうです。
主人公は手を広げていますので、この手にオバケやガイコツが当たれば、ソーシャルディスタンスができていないことになります。
そのとき、スコアは減点(例:-3)になります。
手にオバケやガイコツが当たっている間に、スコアが大量に減点されるのを防ぐために、当たったらクローンを削除します。
<オバケのコード>
<ガイコツのコード>
ここまでできたら、一度テストしてみましょう。
主人公がオバケやガイコツとの接触(せっしょく)をさけることができません。
これではゲームをクリアすることがとても難しくなってしまいます。
そこで、主人公にジャンプを追加し、オバケやガイコツとの接触をさける動きができるようにします。
<主人公のコード>
12+ チャレンジ02
・主人公がジャンプしたときに、効果音を出すことはできますか?
・ジャンプをもっとなめらかにすることはできますか?
13 問題がないか確認
ここまでできたら、テストしてみましょう。
問題がないか確認します。
<主人公のコード>
<オバケのコード>
<ガイコツのコード>
<マスクのコード>
<消毒液のコード>
<コロナウイルスのコード>
13+ チャレンジ03
・レベルによって、オバケやガイコツ、コロナウイルスのスピードを変えることはできますか?
<参照>
https://scratch.mit.edu/projects/377479230/
https://hackart.eduard.cat/2020/03/hack-your-window.html
問題なければ、これで完成です。
お疲れさまでした。
【Scratch】ソーシャルディスタンスwithコロナウイルス/PDF版
多治見CodeClubは、毎月、岐阜県多治見市図書館と同じ建物内で活動しています。
プログラミングに興味を持った子供たちの参加をお待ちしています。
最後まで、お読みいただき、ありがとうございました。
引き続き、皆様にとって有益な情報を紹介できますよう、努力いたします。