КОНТРОЛЬ#

Вступ#

Блоки керування у VEXcode керують потоком проекту, обробляючи цикли, умови та затримуючи виконання блоків.

Цикл — це коли комп’ютер повторює один і той самий крок або групу кроків знову і знову, доки йому не накаже зупинитися. Умова — це правило, яке комп’ютер перевіряє, щоб вирішити, що робити далі. Наприклад, світло може увімкнутися, якщо рука рухає об’єкт.

Нижче наведено список доступних блоків:

  • wait – Призупиняє виконання блоків на певний час.

  • чекати до – Призупиняє виконання блоків до виконання заданої умови.

  • repeat – Повторює набір блоків певну кількість разів.

  • forever – Повторює набір блоків нескінченно довго.

  • повторювати до – Повторює набір блоків, доки не буде виконано умову.

  • while – Повторює набір блоків, поки умова залишається істинною.

  • if – Виконує набір блоків, якщо умова істинна.

  • if / else – Запускає один набір блоків, якщо умова істинна, інакше запускає інший.

  • if / else if / else – Запускає різні набори блоків залежно від кількох умов.

  • break – Негайно завершує цикл repeat, forever, repeat until або while.

  • зупинити проєкт – Завершує проєкт.

чекати#

Блок стека wait призупиняє виконання блоків на певний час перед переходом до наступного блоку.

блок стека очікування#
чекати (1) секунд

Параметри

Опис

час

Час очікування у секундах, як додатне ціле число або десятковий дроб.

Приклад

Після запуску рухається вперед на одну секунду, а потім повністю зупиняється.#
коли запущено
[Move to the left, then the right after one second.]
змістити позицію [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
чекати (1) секунд
змістити позицію [рука v] на x:[-100] y:[0] z:[0] [мм v] ▶

чекати, поки#

Блок стека wait until призупиняє виконання блоків до виконання заданої умови перед переходом до наступного блоку.

зачекайте, поки блок стека#
чекати до <>

Параметри

Опис

хвороба

Умова, яка має бути виконана перед переходом до наступного блоку.

повторити#

Блок C repeat виконує блоки всередині нього задану кількість разів.

повторити блок C#
повторити [10]
Кінець

Параметри

Опис

рази

Ціле число, яке встановлює, скільки разів виконується блок повторення.

Приклад

коли запущено
[Move in a square pattern.]
повторити [4]
змістити позицію [рука v] на x:[2] y:[0] z:[0] [дюйми v] ▶
змістити позицію [рука v] на x:[0] y:[2] z:[0] [дюйми v] ▶
змістити позицію [рука v] на x:[-2] y:[0] z:[0] [дюйми v] ▶
змістити позицію [рука v] на x:[0] y:[2] z:[0] [дюйми v] ▶
Кінець

назавжди#

Вічний блок C продовжує запускати блоки всередині себе знову і знову без зупинки.

назавжди блок C#
назавжди
Кінець

Параметри

Опис

Цей блок не має параметрів.

Приклад

Після запуску безперервно рухається по квадратній траєкторії, рухаючись вперед на 50 мм та повертаючись праворуч на 90 градусів у нескінченному циклі.#
коли запущено
[Move in a square path forever.]
назавжди
змістити позицію [рука v] на x:[2] y:[0] z:[0] [дюйми v] ▶
змістити позицію [рука v] на x:[0] y:[2] z:[0] [дюйми v] ▶
змістити позицію [рука v] на x:[-2] y:[0] z:[0] [дюйми v] ▶
змістити позицію [рука v] на x:[0] y:[2] z:[0] [дюйми v] ▶
Кінець

повторювати доки#

Блок повторювати до C виконує блоки всередині себе багаторазово, поки не буде виконано вказану умову.

повторювати до блокування#
повторювати до <>
Кінець

Параметри

Опис

хвороба

Вираз або змінна, що перевіряється перед кожним циклом. Якщо значення False (хибне), блоки продовжують повторюватися. Якщо значення True (істина), цикл зупиниться.

Приклад

Після запуску всі світлодіоди горять червоним, доки не буде натиснуто на екран, а потім вимикаються.#
коли запущено
[Increment along the x-axis until it's no longer possible.]
повторювати до <не <[рука v] збільшити позицію на x:[100] y:[0] z:[0] [мм v]?>>
змістити позицію [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
Кінець
встановити [рука v] на зупинку керування

поки#

Блок C while виконує блоки всередині повторно, поки виконується задана умова.

поки блок c#
поки <>
Кінець

Параметри

Опис

хвороба

Вираз або змінна, яка перевіряється перед кожним циклом. Якщо вона має значення True, блоки продовжують повторюватися. Якщо вона має значення False, цикл зупиниться.

Приклад

Стек блоків, що починається з блоку «when started», за яким йде блок коментаря «Відображати час після закінчення 2 секунд». Блок «wait until» призупиняє виконання, доки таймер не досягне або не перевищить дві секунди. Після виконання цієї умови блок друку відображає значення таймера на екрані.#
коли запущено
[Display the 6-Axis Arm's position as it moves.]
перемістити [рука v] у позицію x:(-100) y:(200) z:(100) [мм v] ◀ і не чекати
поки <не <[рука v] завершив рух?>>
вивести (позиція [рука v] [y v] у [мм v]) на консоль ◀ і перейти до наступного рядка
чекати [0.25] секунд

якщо#

Блок if C виконує блоки всередині, якщо умова має значення True.

якщо блок#
якщо <> тоді
Кінець

Параметри

Опис

хвороба

Вираз або змінна, яка перевіряється під час виконання оператора. Якщо значення True, блоки всередині блоку if будуть виконані. Якщо значення False, блоки пропускаються.

Приклад

коли запущено
[Check if the 6-Axis Arm can move to a position.]
якщо <не <[рука v] може перемістити у позицію x:[0] y:[0] z:[0] [мм v]?>> тоді
вивести [The 6-Axis Arm can't move to this position.] ◀ і перейти до наступного рядка

якщо / інакше#

Блок C if / else визначає, який набір блоків виконується залежно від того, чи є умова True чи False.

якщо, то інакше блок#
якщо <> тоді
інакше
Кінець

Параметри

Опис

хвороба

Вираз або змінна, яка перевіряється під час виконання оператора. Якщо значення True, блоки всередині блоку if будуть виконані. Якщо значення False, блоки всередині блоку else будуть виконані.

Приклад

коли запущено
[Check if the 6-Axis Arm can or can't move to a position.]
якщо <не <[рука v] може перемістити у позицію x:[100] y:[100] z:[100] [мм v]?>> тоді
вивести [The 6-Axis Arm can't move to this position.] на консоль ◀ і перейти до наступного рядка
інакше
вивести [The 6-Axis Arm can move to this position.] на консоль ◀ і перейти до наступного рядка

якщо / інакше якщо / інакше#

Розширюваний блок C if / else if / else вибирає, який набір блоків виконуватиметься, на основі умов:

  • Функція if виконує свій блок коду, якщо умова має значення True.

  • else if перевіряє додаткові умови, лише якщо всі попередні умови оцінені як False. Можна використовувати кілька операторів else if.

  • else виконує свій блок коду, лише якщо жодна з попередніх умов не оцінюється як True.

якщо інакше, якщо інакше блок#
якщо <> тоді
інакше якщо <> тоді
інакше
Кінець

Параметри

Опис

хвороба

Вираз або змінна, що перевіряється під час виконання оператора. Перша умова, що має значення True, запускає цей набір блоків. Якщо всі умови мають значення False, блоки всередині блоку else будуть виконані.

Приклад

коли запущено
[Move until the 6-Axis Arm is at the corner of the tile.]
якщо <[рука v] збільшити позицію на x:[50] y:[0] z:[0] [мм v]?> тоді
змістити позицію [рука v] на x:[50] y:[0] z:[0] [мм v] ▶
інакше якщо <[рука v] збільшити позицію на x:[0] y:[50] z:[0] [мм v]?> тоді
змістити позицію [рука v] на x:[0] y:[50] z:[0] [мм v] ▶
інакше
вивести [The 6-Axis Arm has reached the corner.] на консоль ◀ і перейти до наступного рядка

перерва#

Блок стека break негайно виходить з циклу. Цей блок можна використовувати всередині блоків repeat, repeat until, while та forever. Break корисний, коли цикл потрібно зупинити раніше через певні події під час проекту, наприклад, натискання кнопки або виявлення об’єкта датчиком.

розрив блоку стека#
перервати

Параметри

Опис

Цей блок не має параметрів.

зупинити проєкт#

Блок стеку stop project завершує запущений проєкт.

зупинити блок проекту#
зупинити проект

Параметри

Опис

Цей блок не має параметрів.