愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。
今回はScratchを使って、2人のキャラクターが競争するようなプログラムを作っていきたいと思います。がちゃラボではこれまで1人のキャラクターを動かすようなプログラムを作ってきましたが、それを2人分にするだけです。とても簡単!さあ覚えていきましょう。
キャラクターを1人動かすプログラムは、以下の記事を参考にしてください。
なお、scratchの中では、キャラクターのことを『スプライト』と呼んでます。なので今後はスプライトという言葉を使いたいと思います。キャラクターというと、人や動物のことを思い浮かべますが、ボールとか物も動かしたりできるので、合わせてスプライトと呼んでいます。
使用するブロック
『メッセージ1を送る』~合図を送るブロック~
『メッセージ1を受け取ったとき』~合図を受け取るブロック~
2つとも『イベント』、というグループの中に入っています。
2つ目のスプライトを追加しよう
まずは2つ目のスプライトを登場させましょう。画面右下に下記のようなボタンがあるので、それを押してください。
スプライトを選ぶ画面になったら、好きなキャラクターを選びましょう。今回は馬のキャラクターを使いたいと思います。リレーなので、走りそうなキャラクターを。
選ぶと元の画面に戻り、スプライトが2つ(猫・馬)表示されました。2つが重なっているようであれば、マウスで好きな場所に移動させましょう。
同時に2つのスプライトを動かしてみよう
それでは2つのスプライトを動かしていきましょう。最初は猫です。猫のプログラムを組みたい時には、下記の猫の絵をカチッとクリックしてください。
そして、旗を押したら走るプログラムを作りましょう。
次に馬です。下記にある馬の絵をクリックしましょう。するとさきほど作ったブロックが消えますが、これは馬のプログラムを組む画面に変わっただけで、猫の絵をクリックすればまた表示されます。
スプライトの切り替えは、実行画面のスプライトを少し触る(ドラッグアンドドロップする)ことでもできる
馬のプログラムも、猫と同様に100歩動くプログラムとしましょう。
それでは、スタートさせ動きを確認しましょう。
すると、猫と馬が同時に走り出しました。これは、2つのプログラムが旗の合図で動くようにしていたためです。
なので、徒競走のように「よーい、どん」で同時に動くようなプログラムは、このようにして作ってるんですね。
リレーのように順番に動くプログラムを作ろう
先程は同時に動くプログラムを作りましたが、リレーのように順番に動くプログラムはどのように作るのでしょうか。
順番に動かしたい場合には、1つのスプライトからもう1つのスプライトにメッセージ(手紙)を送ります。これをプログラムにしましょう。
まずは、猫のプログラムを表示させます。先ほど作った100歩動くだけのプログラムの下に、『メッセージ1を送る』ブロックを追加してください。
次に、馬のプログラムを組んでいきます。今、一番上に「旗が押されたとき」というブロックがありますが、これを削除します。そして『メッセージ1を受け取ったとき」というブロックを繋げてください。
そして、猫と馬の位置を以下のようになるように、マウスを使って移動してください。
では実行してみましょう。
スタートボタン(旗)を押すと、まず猫が動きます。そして、猫が止まった後、今度は馬がスタートします。
これは、猫が止まったときにメッセージ1が送られ、それを受け取った馬のプログラムが動き出したため、リレーを行っているように見えるのです。手紙のようにメッセージを送りあうことで、2つのスプライトを順番に動かすことができました。
まとめ
今回は2つのスプライトを動かしました。メッセージを送ることで、3つ、4つのスプライトを動かすことができますので、ぜひ試してみてください。
コメント