更新日:、 作成日:
スクラッチ ループをスキップしたり中断する
はじめに
Scratch (スクラッチ) 3 のループをスキップしたり中断する方法を紹介します。
スキップとは、ループの処理を 1 回飛ばすことです。continue 文とも言います。
中断とは、その時点でループを抜けることです。break 文や Exit 文とも言います。
ループをスキップする continue
回数を指定してループをするときに、そのループ回数によってループ処理をしたくないときがあります。一般的なプログラミング言語では「continue 文」などを使用して 1 回だけループをスキップできます。
もし~なら、でなければ ブロックを使って、ループをスキップできます。
完成例
ループの 1 回目だけをスキップする例を紹介します。
簡単に説明すると、変数にループ回数を設定します。 もし~なら、でなければ ブロックにスキップする条件を指定して、条件に一致するときに何もしないことでスキップします。
スキップ
スキップするときとループ本来の処理で分岐します。
[もし~なら、でなければ] ブロックを使って処理を分けます。
1 回目のループをスキップします。
変数にループ回数を設定します。この変数のことを一般的に「インデックス」と言います。
1 回目のループを条件にします。
[でなければ] にループ処理を追加して完成です。
スポンサーリンク
ループを中断する break
ループをしているときに、本来の終了条件とは別に途中でループを抜けたいことがあります。 このスクリプトを止める ブロックを使うと、処理そのものが終了してしまうため使用できません。一般的なプログラミング言語では「break 文」や「Exit 文」などで中断できます。
スクラッチでは中断する機能がありませんが、残りのループをすべてスキップして中断できます。
完成例
x座標が 50 より大きくなった時にループを中断する例を紹介します。
簡単に説明すると、変数に中断するかどうかを設定します。外側の もし~なら、でなければ ブロックで中断するときはループをすべてスキップします。内側の もし~なら、でなければ ブロックで中断する条件に一致するか判定します。
中断
中断するときとループ本来の処理で分岐します。
中断するときはループをすべてスキップします。
中断する条件を作成します。
条件に一致するときは変数に「true」を設定します。変数の初期値は一致していない「false」を設定します。
中断するときはすべてスキップするために、外側に [もし~なら、でなければ] ブロックを作成します。中断するときはスキップします。
内側の [でなければ] にループ処理を追加して完成です。