サイトについて      連絡先   検索

スクラッチ ループをスキップしたり中断する

はじめに

Scratch (スクラッチ) 3 のループをスキップしたり中断する方法を紹介します。

スキップとは、ループの処理を 1 回飛ばすことです。continue 文とも言います。

中断とは、その時点でループを抜けることです。break 文や Exit 文とも言います。

  • 目次
    • ループをスキップする continue
    • ループを中断する break

ループをスキップする continue

for-loop

回数を指定してループをするときに、そのループ回数によってループ処理をしたくないときがあります。一般的なプログラミング言語では「continue 文」などを使用して 1 回だけループをスキップできます。

もし~なら、でなければブロックを使って、ループをスキップできます。

完成例

ループの 1 回目だけをスキップする例を紹介します。

4

簡単に説明すると、変数にループ回数を設定します。もし~なら、でなければブロックにスキップする条件を指定して、条件に一致するときに何もしないことでスキップします。

スキップ

スキップするときとループ本来の処理で分岐します。

[もし~なら、でなければ] ブロックを使って処理を分けます。

1

1 回目のループをスキップします。

変数にループ回数を設定します。この変数のことを一般的に「インデックス」と言います。

2

1 回目のループを条件にします。

3

[でなければ] にループ処理を追加して完成です。

ループを中断する break

until-loop

ループをしているときに、本来の終了条件とは別に途中でループを抜けたいことがあります。このスクリプトを止めるブロックを使うと、処理そのものが終了してしまうため使用できません。一般的なプログラミング言語では「break 文」や「Exit 文」などで中断できます。

スクラッチでは中断する機能がありませんが、残りのループをすべてスキップして中断できます。

完成例

x座標が 50 より大きくなった時にループを中断する例を紹介します。

5

簡単に説明すると、変数に中断するかどうかを設定します。外側のもし~なら、でなければブロックで中断するときはループをすべてスキップします。内側のもし~なら、でなければブロックで中断する条件に一致するか判定します。

中断

中断するときとループ本来の処理で分岐します。

6

中断するときはループをすべてスキップします。

中断する条件を作成します。

8

条件に一致するときは変数に「true」を設定します。変数の初期値は一致していない「false」を設定します。

9

中断するときはすべてスキップするために、外側に [もし~なら、でなければ] ブロックを作成します。中断するときはスキップします。

7

内側の [でなければ] にループ処理を追加して完成です。

  • 目次
    • ループをスキップする continue
    • ループを中断する break