【スクラッチ】交差点の「信号」と「車」の動きを作ってみよう

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

大き目の交差点には、必ずと言っていいほど信号があります。

信号の指示にしたがって、車や歩行者は、事故のないように動いています。

この記事では信号の色に連動して動く車を作成してみます。

変数の基礎がより理解できるようになると思いますので、ぜひ最後まで読んでみてください。

作成する交差点

この記事では最低限のものを作ろうと思います。
後から、どんどん改造してくださいね!

  • 信号は4つ作成(自動車用2つ・歩行者用2つ)
  • 自動車は真っすぐにしか進まない仕様
  • 歩行者は今回は作りません

用意するスプライト

車と信号はクローンしてもいいですが、複雑になってしまうため、今回は、それぞれのスプライトを用意します。

信号のコスチュームは、自動車用を3つ、歩行者用を2つ用意します。

プログラムを作成してみよう

作成前に考えなければいけない大切なポイントは、「自動車信号は、上下と左右のどちらかが青なら、片方は必ず赤になっている」という事です。

どちらも青の状態は事故のもとなので、絶対に作ってはいけません。

自動車信号(上下)のコード(未完成)

まずは、上下の自動車信号を考えてみます。

変数の値とコスチュームを連動させることで、青(5秒)→黄(2秒)→赤(5秒)と変化させることが出来ます。

しかし、この状態では左右の信号との切り替えが難しいので、後ほど改良します。

歩行者信号(上下)のコード

自動車信号に連動させることにします。

自動車が青なら青、それ以外(黄か赤)なら赤になるようにしました。

Scratch星人
Scratch星人

実際の歩行者信号は、自動車信号より先に赤になるので、タイミングが気になる人は正確に改良してみて下さい!

自動車信号(上下)のコード(改良版)

先ほどのコードは、左右との連携が取れないものでしたので、変数を使用して切り替えを行う方法に改良します。

これによって、どちらも青という状態を完全に防ぐことができます。

左右の信号のコード

ここまで紹介したコードの変数部分を修正すればいいだけなので、ぜひチャレンジしてみてください。

自動車のコード

信号が青なら、ひたすら直進を繰り返すコードです。

その他の車は、数値を考えながら作成してみて下さい。

改造のアイデア

ここまでで、交差点を上下と左右の動きの車が信号に連動して直進するプログラムを作成出来ましたが、まだまだ物足りない感じがします。

以下のアイデアを参考に、ぜひオリジナルの改造をして欲しいと思います。

  • 歩行者を追加
  • 自動車に右折、左折の動きを追加
  • クローンで複数の車と歩行者を作成

このアイデアは下にいくほど難易度が上がるので、頑張って挑戦してみてください。

まとめ

「信号だけ」や「走る車だけ」をプログラムすることは、そこまで難しくありません。

しかし、それらを連動させるとなると、難易度が一気に上がります。

この記事には「全てが正常に動作するためにどう制御すればいいか」ということを考える大切さを知って欲しいという思いを込めました。

そのためには変数を正しく使えることが、必須になります。

プログラミングは、突き詰めると「変数の理解」が基本であると同時に、奥義にもなりえると思います。

ぜひ、これからも楽しく学習を進めてみて下さい(*^-^*)

コメント

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