Scratchは、子どもから大人まで楽しみながらプログラミングを学べるビジュアルプログラミング環境です。今回は、「演算」カテゴリにある 「引き算」 ブロックを使用した簡単なプログラムと、その応用例を紹介します。
1. 基本編:スプライトの位置を中央に戻す
まずは、スプライトを現在の位置から中央(x座標0、y座標0)に戻すプログラムを作成します。
スクリプト
when green flag clicked
go to x: ((0) - (x position)) y: ((0) - (y position))

解説
x position
とy position
は、スプライトの現在のx座標とy座標を取得するブロックです。(0) - (x position)
および(0) - (y position)
で、現在の位置から中央までの距離を計算します。go to x: () y: ()
ブロックで、計算した座標にスプライトを移動させます。
実行結果
- スプライトが現在の位置から中央に瞬時に移動します。
2. 発展編:スプライト間の距離を計算して表示する
次に、2つのスプライト間の距離を計算し、その結果を表示するプログラムを作成します。
スクリプト
when green flag clicked
set [distance v] to ([sqrt v] of (((x position) - (x position of [Sprite2 v])) * ((x position) - (x position of [Sprite2 v])) + ((y position) - (y position of [Sprite2 v])) * ((y position) - (y position of [Sprite2 v]))))
say (join [距離: ] (distance))

計算の部分を拡大しました。距離の公式=√(x × x)+ (y × y)

解説
distance
という変数を作成し、スプライト間の距離を格納します。- 2つのスプライト間の距離は、ピタゴラスの定理を用いて計算します。
(x position) - (x position of [Sprite2 v])
でx座標の差を求めます。(y position) - (y position of [Sprite2 v])
でy座標の差を求めます。- それぞれの差の二乗を足し合わせ、その平方根を取ることで距離を算出します。
say
ブロックで、計算した距離をスプライトが表示します。
実行結果
- スプライトがもう一方のスプライトとの距離を計算し、「距離: [計算結果]」と表示します。
まとめ
- 基本編 では、スプライトの現在位置から中央への移動を「引き算」ブロックを用いて実現しました。
- 発展編 では、2つのスプライト間の距離を計算し表示するプログラムを作成しました。
「引き算」ブロックは、スプライトの位置関係や動きの制御など、さまざまな場面で活用できます。ぜひ、これらの例を参考にして、Scratchでのプログラミングを楽しんでください。