みんなの作品「ソーシャルディスタンスチャレンジ」のプログラムを見てみよう!<前編>
本記事は2021年06月18日にLINE entry公式ブログにて掲載されたものを再掲載した記事です。
「ソーシャルディスタンスチャレンジ」はLINE entry「みんなの作品」で公開されている作品です。これは昨年のTech Kids Grand Prix 2020にて見事LINE entry賞2位とYahoo賞をダブル授賞しました。今回はこの作品がどのようにプログラミングされているか見てみましょう!
どんな作品?
「ソーシャルディスタンスチャレンジ」は感染症対策で耳にすることが増えたソーシャルディスタンスをゲームで表現した作品です。ブラウンがほかのキャラクターに近づきすぎないようにカーソルキーで動かします。ほかのキャラクターに近づくと赤い円が表示され、ブラウンがその赤い円に当たるとゲームオーバー。10秒のあいだ赤い円に当たらなければゲームクリアとなり、次のステージに進むことができます。
ゲームステージは5つ用意されていてクリアするごとに難しくなっているのもゲームとして楽しめるポイントです。
ゲームを遊んでみよう
まずは、ゲームで遊んでみましょう。実際にプログラムを実行して遊んでからプログラムを見ると動きをイメージしやすいだけでなく、プログラムだけを見たときに気づけない工夫を見つけられることもありますよ。
さっそく下のリンクをクリック!
ソーシャルディスタンスチャレンジ
それではスタートボタンをクリックしてプログラムを実行します。スペースキーをおしたらゲームスタート!
ゲームクリアのコツ
キャラクターの動きをよく見よう
マスクを使おう
けむりを消そう
サリー、コニー、けむり、密集の4つのキャラクターがどう動くのかをよく見て、はさまれないように気をつけましょう。コニーはブラウンを追いかけてくるので、コニーの反対方向に動くといいかも。つぎにマスクです。マスクを着けると10秒間のうち、5秒間赤い円に当たってもゲームオーバーになりません。すぐにマスクを取ってにげてもいいですし、もしくは5秒過ぎたあとにマスクを着ければあとはステージクリアを待つだけです。ステージ3からは新たにけむりが出てきます、けむりは大きいですがブラウンが赤いボタンに当たれば消すことができます。逃げられるようなら無理に消す必要はありません。
キャラクターとキャラクターのきょり?
ブラウンがサリーやコニーに近づくと赤い円が表示され、離れるとまた消えますね。この仕組みはキャラクターのきょりが関係しているようです。いったいどんなプログラムになっているんでしょうか?
今回はこのプログラムを解読して一段上のプログラミングテクニックを身につけましょう!
「ブロックを見る」をクリックしてワークスペースに移動します。
画面上部の「S1」というタブをクリックし「S1」のシーンを見ます。「S1」はステージ1のプログラムです。そしてキャラクターレイヤーから「歩くコニー」をクリックしてプログラムを見てみましょう。
「歩くコニー」には大きく3つのブロックのかたまりがあり、そのひとつのかたまりの中の条件に「”歩くブラウン”までの距離」というブロックを使っているところがあります。これはこのブロックを使っているキャラクターと、選んだキャラクターとのきょりを自動で測ってくれる便利なブロックなのです。つまり今は「歩くコニー」のプログラムを見ているので「歩くコニー」と「歩くブラウン」のきょりを測ってくれています。
キャラクターとキャラクターのきょり?
かんたんなプログラムを作ってふたつのキャラクターのきょりを見てみましょう。
左上の「LINE entry」をクリックするとトップページに移動します。そのあとワークスペースをクリックするとワークスペースに移動することができます。
プログラムの内容は以下のとおりです。
キャラクターはブラウンとコニーの2つ
左と右のカーソルキーでブラウンを左右に動かすことができる
コニーはずっとブラウンとのきょりを言う
実際の画面は下の図のようになります。
ブラウンとコニーがぴったり重なっているときは0、離れていくと数値が大きくなります。「ソーシャルディスタンスチャレンジ」のプログラムで設定されていた「100」というきょりがどれくらいなのかもわかりますね。
どんなプログラムになるか予想して、まずは自分なりのプログラムを作ってみましょう。
こんなプログラムになっていました。
キャラクター「歩くコニー」を追加してください。
「”歩くコニー"までの距離」というブロックが「計算」カテゴリーの中にありますので、これを「言う」ブロックと組み合わせて、「歩くブラウン」に変えてください。
上の図と同じようにプログラムができたら、スタートボタンをクリックして、動かしてみましょう。
今回はここまで。
キャラクターどうしのきょりを条件にすることで、近づいたとき、離れたときでプログラムの動きを変えていたことがわかりました。次回は条件によって送られている信号を受け取った先のプログラムを見てみましょう!