シーケンスの理解#

Understanding Sequences

このチュートリアルでは、VEXcode GOにおけるシーケンス処理について解説します。チュートリアルを終える頃には、ブロックの順番がなぜ重要なのかが理解できるでしょう。

シーケンスとは、どのブロックを使うかではなく、ブロックが実行される順番のことです。スタック内のブロックは、一番上のブロックから順に1つずつ実行されます。シーケンス内のブロックの順番が間違っていると、ロボットが意図したとおりに動作しない可能性があります。

例えば、このプロジェクトではロボットを前進させた後、右に旋回させます。

前進してから、方向転換する。#
開始したとき :: hat events
[前進 v] へ (200) [mm v] 走行 ▶
[右 v] へ (90) 度旋回 ▶

これらは同じ2つのブロックですが、順番が入れ替わっています。そのため、ロボットはまず方向転換し、それから新しい方向に前進します。結果として、以前とは異なる場所に到着することになります。

方向転換して、それから運転する。#
開始したとき :: hat events
[右 v] へ (90) 度旋回 ▶
[前進 v] へ (200) [mm v] 走行 ▶

ブロックの順序は、後続のブロックを設定するブロックにとっても重要です。例えば、駆動速度を設定するブロックを駆動ブロックの後に配置した場合、ロボットの速度が変更される前に既にそれらの動作が行われているため、何も効果がないように見えます。

セットドライブ速度ブロックは、効果を発揮するには配置が遅すぎました。#
開始したとき :: hat events
[前進 v] へ (200) [mm v] 走行 ▶
[右 v] へ (90) 度旋回 ▶
走行速度を (50) % に設定

ロボットの速度を実際に落とすには、駆動速度設定ブロックを、それが影響を与える動作の前に配置する必要があります。

駆動速度設定ブロックは、それが影響を与える動作の前に配置されます。#
開始したとき :: hat events
走行速度を (50) % に設定
[前進 v] へ (200) [mm v] 走行 ▶
[右 v] へ (90) 度旋回 ▶