複数のスプライトをランダム移動
やること
この教材 では、複数のスプライトをランダムに移動させる方法を学びます。この例では、複数のスプライトがランダムな方向に動き続けるプログラムを作成します。
ステップ1
エディターに以下のプログラムを入力してみましょう。
for i=0 to 2
show i,(100,100)
next
do
for i=0 to 2
if not moving(i) then
direction i,random(0,8)
speed i,random(10,20)
distance i,random(32,200)
move i
end if
next
loop
ステップ2
エディターの右下にある「▶実行」ボタンを押すと、入力したプログラムが実行されます。このプログラムは無限ループになるため、一定時間後に止めるボタンを押してプログラムを停止してください。その後、画面の右上にある「ドキュメント」タブを押して、ここに戻ってきてください。
では、「▶実行」ボタンを押してください。
ステップ3
実行画面に以下のように表示されたら成功です。
- 複数のスプライトが画面上でランダムな方向に動きます。
- 各スプライトが停止するたびに、方向や速度、移動距離がランダムに変わります。
ステップ4
実行したプログラムを解説します。
使っている命令の簡単な紹介
-
for-next
は繰り返し処理を行う命令です。 -
show
は スプライトを指定した位置に表示する命令です。 -
direction
は スプライトの移動方向を指定する命令です。値は0〜7で方向を示します(例: 3は右下方向)。 -
random
は 指定した範囲内のランダムな値を生成する関数です。 -
speed
は スプライトの移動速度を指定する命令です(単位はピクセル/フレーム)。 -
distance
は スプライトが移動する距離を指定する命令です。 -
move
は スプライトを動かす命令です。 -
moving
は スプライトが現在動いているかどうかを判定する関数です。
プログラムで行われていること
-
for-next
命令で3つのスプライトを初期位置(100,100)に表示します。 -
do-loop
内で各スプライトが停止した際に、random
関数 でランダムな方向、速度、距離を設定し、再度move
命令で動かします。
学ぶべきこと
- 複数のスプライトをランダムに動かす方法。
- 繰り返し処理を使って複数のスプライトを管理する方法。
チャレンジ
- スプライトの数を増やして、より多くのスプライトをランダムに動かしてみましょう。
- 各スプライトに異なる初期位置を設定してみましょう。
- スプライト同士がぶつかったら消してみましょう。