КОНТРОЛЬ#

Вступ#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

чекати#

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

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

Параметри

Опис

час

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

Приклад

Після запуску рухається вперед на одну секунду, а потім повністю зупиняється.#
коли запущено :: hat events
[Move forward for one second, then stop.]
їхати [вперед v]
чекати (1) секунд
зупинити рух

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

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

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

Параметри

Опис

хвороба

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

Приклад

Після запуску рухається вперед, доки не буде натиснуто екран, потім повністю зупиняється.#
коли запущено :: hat events
[Move forward until a button is pressed, then stop.]
їхати [вперед v]
чекати до <[LeftBumper v] натиснуто?>
зупинити рух

повторити#

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

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

Параметри

Опис

рази

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

Приклад

коли запущено :: hat events
[Move in a square path.]
повторити [4]
їхати [вперед v] на [150] [мм v] ▶
повернути [праворуч v] на [90] градусів ▶
Кінець

назавжди#

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

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

Параметри

Опис

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

Приклад

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

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

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

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

Параметри

Опис

хвороба

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

Приклад

Після запуску всі світлодіоди горять червоним, доки не буде натиснуто на екран, а потім вимикаються.#
коли запущено :: hat events
[Move the pen until the bumper is pressed.]
їхати [вперед v]
повторювати до <[LeftBumper v] натиснуто?>
перемістити перо [вниз v]
чекати (0.5) секунд
перемістити перо [вгору v]
чекати (0.5) секунд
Кінець
чекати (0.5) секунд
зупинити рух

поки#

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

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

Параметри

Опис

хвороба

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

Приклад

Після запуску рухається вперед на 200 мм, при цьому всі світлодіоди горять зеленим світлом. Світлодіоди вимикаються після зупинки руху.#
коли запущено :: hat events
[Display a message while moving.]
їхати [вперед v] на [300] [мм v] ◀ і не чекати
поки <рух виконується?>
вивести [Moving...] ▶
чекати (0.1) секунд
очистити всі рядки
Кінець
вивести [Done!] ▶

якщо#

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

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

Параметри

Опис

хвороба

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

Приклад

Під час запуску постійно перевіряє, чи натиснуто екран. Якщо натиснути, робот б’є об’єкт ногою із середньою силою.#
коли запущено :: hat events
[Turn in a circle if the bumper is pressed.]
їхати [вперед v]
назавжди
якщо <[LeftBumper v] натиснуто?> тоді
їхати [назад v] на (200) [мм v] ▶
повернути [праворуч v] на (360) градусів ▶
Кінець
зупинити рух
Кінець

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

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

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

Параметри

Опис

хвороба

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

Приклад

Після запуску постійно перевіряє, чи натиснуто екран. Якщо натиснуто, відображається схвильований емодзі, що дивиться вперед; в іншому випадку відображається нудьгуючий емодзі, що дивиться вперед.#
коли запущено :: hat events
[If bumper pressed, reverse and turn right.]
назавжди
якщо <[LeftBumper v] натиснуто?> тоді
їхати [назад v] на (100) [мм v] ▶
повернути [праворуч v] на (90) градусів ▶
інакше
їхати [вперед v]
Кінець

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

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

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

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

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

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

Параметри

Опис

хвороба

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

Приклад

Коли положення осі 1 контролера змінюється, вона рухається вперед, якщо її натиснути вперед, рухається назад, якщо її потягнути назад, і зупиняється, коли вона перебуває в нейтральному положенні.#
коли запущено :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
назавжди
якщо <[FrontEye v] виявляє [червоний v]?> тоді
повернути [праворуч v] на (90) градусів ▶
інакше якщо <[FrontEye v] виявляє [зелений v]?> тоді
повернути [ліворуч v] на (90) градусів ▶
інакше
їхати [вперед v]
Кінець
Кінець

перерва#

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

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

Параметри

Опис

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

Приклад

Після запуску світлодіоди блимають червоним та зеленим кожні 0,5 секунди, доки не буде натиснуто екран, потім зупиняються.#
коли запущено :: hat events
[Stop turning after a button is pressed.]
назавжди
їхати [вперед v]
якщо <[LeftBumper v] натиснуто?> тоді
перервати
Кінець
Кінець
зупинити рух

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

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

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

Параметри

Опис

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

Приклад

Після запуску світлодіоди блимають червоним та зеленим кожні 0,5 секунди, доки не буде натиснуто екран, а потім проєкт зупиняється.#
коли запущено :: hat events
[Stop the project entirely after a button is pressed.]
назавжди
їхати [вперед v]
якщо <[LeftBumper v] натиснуто?> тоді
зупинити проект
Кінець
Кінець