コンテンツにスキップ

猫とネズミの追いかけっこ~繰り返しの基本①

本講座では、(複数の)命令を繰り返し実行する方法を学ぶ。スプライトの動きの軌跡をペンを使用して図形を描く講座では、正方形・正三角形を描く場合、同じ処理を順次並べていた。本講座では、繰り返しの基本を学ぶことで、記述の簡略化・可読性が向上されることを学ぶ。

対象年齢

小学校4年生~

学習時間

約60分

必要知識と関連記事

ペンを使って図形を描く~逐次実行

使用する主なブロック

  • 動き

    • ◎歩動かす

    • ◎度回す

    • ◎へ行く

    • もし端に着いたら、跳ね返る

  • 制御

    • ◎回繰り返す

    • ずっと

指導ポイント

  • 始めは同じ命令を連続で実行させた後、繰り返しのブロックを使用出来る事を教えること

スプライトを画面の左右方向へずっと動かす

以下シーケンス例では、最初に『90度に向ける』で方向を指定している。(scratchのdefaultの向きがこの向きなので、この命令を使用しなくても今回は良い。)

loop_1.PNG

スプライトを画面の上下左右方向へずっと動かす

上記の応用。

繰り返す前にスプライトの角度を90の倍数以外にする。

loop_1.PNG

以下のように、『◎度回す』を使ってもとりあえず良い(ただし、回転させた後、たまたまスプライトの方向が90の倍数度になる事がある)。

loop_2.PNG

繰り返し条件『◎回繰り返す』を使う

繰り返し条件を『ずっと』から『◎回繰り返す』に変更する。

繰り返しの回数を色々と変えることで、動作がどのように変わるかを子供達に体験してもらう。

loop_3.PNG

しばらくしたらスプライトの動きが速くなるようにする

上記のシーケンスに続いて、同様なシーケンスを追加して、スプライトの動かす歩数を増やして速く動くようにする。繰り返し条件の使い方が慣れてきたら、さらに動く速さを変える・見た目を変えるなど、子供達に自由に作成させると良い。

loop_4.PNG

応用~新しいスプライトを追加する

今まで一つのスプライトしか登場していなかったが、複数のスプライトに対してプログラミング出来ることを子供達に教える。(今回はネズミを追加。)

loop_nezumi.PNG

マウスポインターについて行くようにする

上記の追加したスプライトに対して『◎へ行く』を使い、スプライトをマウスカーソルの位置へ常についていくようにする。

最初は単純に以下のようなシーケンスにして、どうすれば常にマウスカーソルについてくるかを考えさせること。

loop_6.PNG

(マウスカーソルがついてこない例)

loop_5.PNG

(マウスカーソルが常についてくる例)

以上のシーケンスを書くことで、画面内を動き回るスプライトとマウスの動きに合わせて動くスプライトで鬼ごっこ的なゲームが出来る。この状態でも子供達は十分に達成感が味わえるが、以下のように、逃げる側が追っかける側に触れた場合の条件を追加すると、さらにゲーム性が高くなる。(条件分岐については、別途クローズアップして学んだほうが子供達の理解が高まるので、本講座では参考程度で良い。)

loop_6.PNG

サンプルプログラム

https://scratch.mit.edu/projects/111823982/