Scratch(スクラッチ)は、初心者でも簡単にプログラミングができるビジュアルプログラミング言語です。今回は「調べる」カテゴリにある 「端に触れた」 ブロックを使った簡単なプログラムと、その発展プログラムを紹介します。
1. 「端に触れた」を使った簡単なプログラム
まずは、スプライトが画面の端に触れると跳ね返るシンプルなプログラムを作ります。
スクリプト
1. [緑の旗が押されたとき]
2. (10) 回 くりかえす
3. ├ (10) 歩動かす
4. ├ <もし (端に触れた) なら>
5. │ ├ (180) 度回す
6. ├ (1) 秒待つ

説明
- スプライトは 10 回ループしながら 10 歩ずつ前進します。
- もし 「端に触れた」 なら、180 度回転して反転します。
- 1 秒待機してから次の動作を開始します。
このプログラムを実行すると、スプライトが左右の端に触れるたびに反転して戻ります。
2. 「端に触れた」を使った発展プログラム
次に、スプライトが画面の端に触れたら ランダムな角度で跳ね返る プログラムを作ります。
スクリプト
1. [緑の旗が押されたとき]
2. <ずっと>
3. ├ (10) 歩動かす
4. ├ <もし (端に触れた) なら>
5. │ ├ (180 - (乱数 (10) から (60) )) 度回す
6. │ ├ (2) 秒待つ

説明
- スプライトは ずっと ループしながら 10 歩ずつ前進します。
- 端に触れたら、180 度回るのではなく ランダムな角度(10〜60度)を引いた角度 で跳ね返ります。
- 2 秒待機してから動作を再開します。
このプログラムでは、スプライトが自然な動きで跳ね返るようになります。
3. さらに発展:壁で跳ね返るボールゲーム
「端に触れた」を利用して、 壁にぶつかると方向を変えて跳ね返るボール のような動きを作ることもできます。
スクリプト
1. [緑の旗が押されたとき]
2. (90) 度に向ける
3. <ずっと>
4. ├ (10) 歩動かす
5. ├ <もし (端に触れた) なら>
6. │ ├ (端で跳ね返る)

説明
- スプライトを初期状態として 90 度の方向へ向けます。
- ずっと ループで 10 歩ずつ進みます。
- 端に触れたら 「端で跳ね返る」 ブロックで自動的に反転します。
このプログラムは、ボールのような動きを再現するのに便利です。
まとめ
「端に触れた」ブロックを使うことで、スプライトの動きを 画面の枠内に制限しながら プログラムすることができます。
これを応用すれば、壁に反射するボールゲームや迷路ゲームなどを作ることも可能です。
ぜひ、いろいろなアイデアで試してみてください!