コントロール#
導入#
VEXcode AIMのコントロールブロックは、ループ、条件分岐、ブロックの実行遅延などを処理することで、プロジェクトの流れを管理します。
ループとは、コンピュータが停止指示を受けるまで、同じ手順または一連の手順を繰り返し実行することです。条件とは、コンピュータが次に何をするかを決定するためにチェックするルールです。例えば、センサーが物体を検出した場合、ロボットは前進することができます。
以下はすべてのブロックのリストです。
wait — ブロックの実行を特定の期間一時停止します。
wait until — 指定された条件が満たされるまでブロックの実行を一時停止します。
repeat — ブロックのセットを特定の回数繰り返します。
forever — ブロックのセットを無限に繰り返します。
repeat until — 条件が満たされるまで一連のブロックを繰り返します。
while — 条件が真である間、一連のブロックを繰り返します。
if — 条件が真の場合に一連のブロックを実行します。
if / else — 条件が真の場合は1つのブロックセットを実行し、そうでない場合は別のブロックセットを実行します。
if / else if / else — 複数の条件に応じて異なるブロックセットを実行します。
break — repeat、forever、repeat until、またはwhileループを即座に終了します。
stop project — プロジェクトを終了します。
待って#
waitスタックブロックは、次のブロックに進む前に、特定の時間だけブロックの実行を一時停止します。
(1) 秒待つ
パラメータ |
説明 |
|---|---|
時間 |
待機時間。正の整数または小数で、秒単位で指定します。 |
例
開始したとき
[Move forward for one second, then stop.]
[前進 v] へ移動
(1) 秒待つ
全移動を停止
まで待つ#
wait untilスタックブロックは、指定された条件が満たされるまでブロックの実行を一時停止し、その後次のブロックに進みます。
<> まで待つ
パラメータ |
説明 |
|---|---|
状態 |
次のブロックに進む前に満たさなければならない条件。 |
例
開始したとき
[Move forward until screen pressed, then stop.]
[前進 v] へ移動
<スクリーン押された?> まで待つ
全移動を停止
繰り返す#
repeat C ブロックは、その中のブロックを指定された回数だけ実行します。
[10] 回繰り返す
終わり
パラメータ |
説明 |
|---|---|
タイムズ |
repeatブロックが実行される回数を設定する整数。 |
例
開始したとき
[Move in a square path.]
[4] 回繰り返す
[前進 v] へ [50] [mm v] 移動 ▶
[右 v] へ [90] 度旋回 ▶
終わり
永遠に#
永遠に C ブロックは、停止することなく内部のブロックを何度も繰り返し実行し続けます。
ずっと
終わり
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[Move in a square path forever.]
ずっと
[前進 v] へ [50] [mm v] 移動 ▶
[右 v] へ [90] 度旋回 ▶
終わり
まで繰り返す#
repeat until C ブロックは、指定された条件が満たされるまで、その中のブロックを繰り返し実行します。
<> まで繰り返す
終わり
パラメータ |
説明 |
|---|---|
状態 |
各ループの前にチェックされる式または変数。False の場合、ブロックは繰り返し実行されます。True の場合、ループは停止します。 |
例
開始したとき
[Repeat until the screen is pressed before turning off the LEDs.]
<スクリーン押された?> まで繰り返す
[lightall v] の LED の色を [赤 v] に設定
終わり
[lightall v] の LED の色を [オフ v] に設定
その間#
C言語のwhileブロックは、指定された条件が満たされている間、内部のブロックを繰り返し実行します。
<> の間繰り返す
終わり
パラメータ |
説明 |
|---|---|
状態 |
各ループの前にチェックされる式または変数。True の場合、ブロックは繰り返し実行されます。False の場合、ループは停止します。 |
例
開始したとき
[Keep the LEDs green while the robot is moving.]
[前進 v] へ [200] [mm v] 移動 ◀ 待たない
<移動中?> の間繰り返す
[lightall v] の LED の色を [緑 v] に設定
終わり
[lightall v] の LED の色を [オフ v] に設定
もし#
if C ブロックは、条件が True の場合に内部のブロックを実行します。
もし <> なら
終わり
パラメータ |
説明 |
|---|---|
状態 |
ステートメントの実行時にチェックされる式または変数。True の場合、if ブロック内のブロックが実行されます。False の場合、ブロックはスキップされます。 |
例
開始したとき
[Kick when the screen is pressed.]
ずっと
もし <スクリーン押された?> なら
オブジェクトを [中 v] キック
終わり
終わり
if / else#
C言語のif / elseブロックは、条件がTrueかFalseかに基づいて、どのブロックセットを実行するかを決定します。
もし <> なら
でなければ
終わり
パラメータ |
説明 |
|---|---|
状態 |
ステートメントの実行時にチェックされる式または変数。True の場合は、if ブロック内のブロックが実行されます。False の場合は、else ブロック内のブロックが実行されます。 |
例
開始したとき
[Show one emoji when the screen is touched and a different one when it's not.]
ずっと
もし <スクリーン押された?> なら
[前進 v] を向いた [emoji_excited v] を表示
でなければ
[前進 v] を向いた [emoji_bored v] を表示
終わり
終わり
if / else if / else#
if / else if / else 展開可能な C ブロックは、条件に基づいてどのブロックセットを実行するかを選択します。
if は、条件が True と評価された場合にコードブロックを実行します。
else if は、それまでのすべての条件が False と評価された場合にのみ、追加の条件をチェックします。複数の else if 文を使用できます。
else は、前の条件のいずれも True と評価されなかった場合にのみ、コードブロックを実行します。
もし <> なら
もし <> なら(続き)
でなければ
終わり
パラメータ |
説明 |
|---|---|
状態 |
ステートメントの実行時にチェックされる式または変数。最初の条件がTrueになると、そのブロックセットが実行されます。すべての条件がFalseと評価された場合は、elseブロック内のブロックが実行されます。 |
例
コントローラー軸 [1 v] が変化したとき
[Move the robot forward or reverse based on the position of the joystick.]
もし <(コントローラー軸 [1 v] の位置) [math_greater_than v] [0]> なら
[前進 v] へ移動
もし <(コントローラー軸 [1 v] の位置) [math_less_than v] [0]> なら(続き)
[後退 v] へ移動
でなければ
全移動を停止
終わり
壊す#
break スタックブロックは、ループを即座に終了します。このブロックは、repeat、repeat until、while、および forever ブロック内で使用できます。break は、ボタンが押されたり、センサーが物体を検出したりするなど、プロジェクト中に発生する何らかの事象に基づいてループを早期に停止する必要がある場合に便利です。
ブレーク
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[Flash LEDs until the screen is pressed.]
ずっと
[lightall v] の LED の色を [赤 v] に設定
[0.5] 秒待つ
[lightall v] の LED の色を [緑 v] に設定
[0.5] 秒待つ
もし <スクリーン押された?> なら
ブレーク
終わり
終わり
プロジェクトを停止する#
stop project スタックブロックは、実行中のプロジェクトを終了します。
プロジェクトを停止
パラメータ |
説明 |
|---|---|
このブロックにはパラメータがありません。 |
例
開始したとき
[Stop the project once the screen is pressed.]
ずっと
[lightall v] の LED の色を [赤 v] に設定
[0.5] 秒待つ
[lightall v] の LED の色を [緑 v] に設定
[0.5] 秒待つ
もし <スクリーン押された?> なら
プロジェクトを停止
終わり
終わり