Блоки, специфічні для роботів#

Вступ#

Робот VR Rover включає трансмісію, датчик відстані та дії, унікальні для ігрового майданчика Rover Rescue.

Усі стандартні блоки віртуальної реальності VEXcode доступні для використання на ігровому майданчику Rover Rescue.

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

Трансмісія – Рухайте та повертайте VR-маршрутизатор.

Дії – взаємодіяти з ресурсами, ворогами та вбудованими системами штучного інтелекту марсохода.

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

У прикладах на цій сторінці використовується початкова позиція ігрового майданчика за замовчуванням.

Трансмісія#

Трансмісія контролює рух та повороти VR-маршрутизатора. Трансмісія може рухатися вперед або назад, повертати ліворуч або праворуч, змінювати напрямок руху та повідомляти про свій напрямок.

Дії#

диск#

Блок стека drive переміщує робота вперед або назад нескінченно. Робот продовжуватиме рухатися, доки йому не буде надано іншу дію, таку як поворот або зупинка.

їхати [вперед v]

Параметри

Опис

напрямок

Напрямок руху робота: вперед або назад.

Приклад

коли запущено
[Drive forward, then stop.]
їхати [вперед v]
чекати (2) секунд
зупинити рух

їхати за#

Блок стеку drive for переміщує робота вперед або назад на певну відстань. Проект чекатиме, поки робот завершить рух, перш ніж запуститься наступний блок у стеку.

їхати [вперед v] на (200) [мм v] ▶

Параметри

Опис

напрямок

Напрямок руху робота: вперед або назад.

відстань

Відстань, яку проїжджає робот. Це може бути ціле або десяткове число.

одиниця

Одиниця вимірювання відстані: мм (міліметри) або дюйми.

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Приклад

коли запущено
[Drive forward for 500 mm.]
їхати [вперед v] на (500) [мм v] ▶

поворот#

Блок стеку turn повертає робота ліворуч або праворуч назавжди. Робот продовжуватиме повертатися, доки йому не буде надано іншу дію, наприклад, рух або зупинку.

повернути [праворуч v]

Параметри

Опис

напрямок

Напрямок повороту робота: ліворуч або праворуч.

Приклад

коли запущено
[Turn right, then stop.]
повернути [праворуч v]
чекати (2) секунд
зупинити рух

повернути за#

Блок стеку turn for повертає робота ліворуч або праворуч на певну кількість градусів. Поворот здійснюється відносно поточного положення робота. Проект чекатиме, поки робот завершить поворот, перш ніж запустити наступний блок у стеку.

повернути [праворуч v] на (90) градусів ▶

Параметри

Опис

напрямок

Напрямок повороту робота: ліворуч або праворуч.

кут

Кількість градусів, на яку повертається робот. Це може бути ціле або десяткове число.

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Приклад

коли запущено
[Turn left, then turn right.]
повернути [ліворуч v] на (90) градусів ▶
повернути [праворуч v] на (180) градусів ▶

повернути до заголовка#

Курс руху – це напрямок, у якому рухається робот, виміряний у градусах. Блок стеку поворот до курсу повертає робота обличчям до певного курсу від -359 до 359 градусів. Робот поверне у найкоротшому напрямку, щоб досягти цільового курсу.

Початковий курс — 0 градусів.

Проєкт чекатиме, поки робот завершить обертання, перш ніж запуститься наступний блок у стеку.

повернути на курс (90) градусів ▶

Параметри

Опис

заголовок

Кут, куди має дивитися робот, від -359 до 359 градусів.

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Приклад

коли запущено
[Turn to face east.]
повернути на курс (90) градусів ▶

перейти до об’єкта#

Блок стеку перехід до об’єкта повертається та спрямовує VR-ровер до вибраного об’єкта.

перейти до [minerals v] ▶

Параметри

Опис

об’єкт

До якого об’єкта полетить VR-ровер:

  • мінерали
  • ворог
  • база

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Якщо VR-ровер виявить кілька мінералів або кількох ворогів, він перейде до ближчого варіанту.

Якщо під час руху блоку в зоні видимості марсохода не виявлено мінералів або ворога, робот не рухатиметься. Базу завжди можна атакувати.

Приклад

коли запущено
[Drive to the closest mineral.]
перейти до [minerals v] ▶

зупинити керування#

Блок стеку зупинити рух зупиняє рух робота.

зупинити рух

Параметри

Опис

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

Приклад

коли запущено
[Drive forward, then stop.]
їхати [вперед v]
чекати (4) секунд
зупинити рух

Налаштування#

встановити швидкість руху#

Блок стеку set drive velocity вказує роботу, з якою швидкістю рухатися. Вищий відсоток робить робот швидшим, а нижчий – повільнішим.

Кожен проєкт починається з того, що робот рухається зі швидкістю 50% за замовчуванням.

Примітка: Вища швидкість робить робот швидшим, але це може бути менш точно. Нижча швидкість робить робот повільнішим, але це може бути точнішим.

встановити швидкість руху (50) [% v]

Параметри

Опис

швидкість

Швидкість руху від 0% до 100%.

одиниця

Одиниця вимірювання швидкості: %

Приклад

коли запущено
[Move faster.]
встановити швидкість руху (100) [% v]
їхати [вперед v] на (100) [мм v] ▶

встановити швидкість повороту#

Блок стеку set turn velocity вказує роботу, як швидко повертатися. Вищий відсоток змушує робота повертатися швидше, а нижчий — повільніше.

Кожен проект починається з того, що робот обертається зі швидкістю 50% за замовчуванням.

Примітка: Вища швидкість змушує робота обертатися швидше, але це може бути менш точно. Нижча швидкість змушує робота обертатися повільніше, але це може бути точніше.

встановити швидкість повороту (50) [% v]

Параметри

Опис

швидкість

Швидкість повороту від 0% до 100%.

одиниця

Одиниця вимірювання швидкості: %

Приклад

коли запущено
[Turn faster.]
встановити швидкість повороту (100) [% v]
повернути [праворуч v] на (90) градусів ▶

встановити заголовок диска#

Курс руху – це напрямок руху робота, що вимірюється в градусах. Блок стеку set drive heading змінює поточний курс руху робота на нове значення курсу.

Наприклад, якщо робот повернувся обличчям праворуч, встановлення курсу на 0 градусів робить це положення обличчям праворуч новим 0 градусами. Потім робот може повертатися в інші позиції на основі цього нового курсу.

встановити курс руху (0) градусів

Параметри

Опис

заголовок

Значення курсу в градусах, яке потрібно встановити для робота.

Приклад

коли запущено
[Set the heading, then turn to 0 degrees.]
встановити курс руху (90) градусів
повернути на курс (0) градусів ▶

встановити час очікування диска#

Блок стеку set drive timeout встановлює, скільки секунд робот намагатиметься завершити рух. Якщо робот не зможе завершити його за цей час, він припинить спроби та перейде до наступного блоку в стеку. Це запобігає зависанню робота на русі.

встановити тайм-аут руху (1) секунд

Параметри

Опис

час

Кількість секунд, протягом яких робот може спробувати завершити рух. Це може бути ціле число або десятковий дроб.

Приклад

коли запущено
[Drive for at most 1 second.]
встановити тайм-аут руху (1) секунд
їхати [вперед v] на (25) [дюйми v] ▶

Цінності#

диск завершено#

Булевий блок drive is done повідомляє, чи завершив рух робота. Це можна використовувати для керування часом інших дій на основі руху робота.

  • Правда – Робот завершив рух.

  • Хибно – Робот все ще рухається.

Цей блок працює разом із блоками трансмісії, які мають параметр і не чекати.

<рух завершено?>

Параметри

Опис

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

Приклад

коли запущено
[Start turning when the drive is complete.]
їхати [вперед v] на (200) [мм v] ◀ і не чекати
чекати до <рух завершено?>
повернути [праворуч v] на (360) градусів ▶

привід рухається#

Булевий блок привід рухається повідомляє, чи рухається робот. Це можна використовувати для керування часом інших дій на основі руху робота.

  • Правда – Робот рухається.

  • Хибно – Робот не рухається.

Цей блок працює разом із блоками трансмісії, які мають параметр і не чекати.

<рух виконується?>

Параметри

Опис

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

Приклад

коли запущено
[Print while the rover is moving.]
їхати [вперед v] на (200) [мм v] ◀ і не чекати
поки <рух виконується?>
вивести [Still Moving...] ▶
чекати (0.1) секунд
очистити всі рядки
Кінець
вивести [Done!] ▶

напрямок руху#

Курс руху – це напрямок руху робота, що вимірюється в градусах. Блок репортера курс руху повідомляє про цей курс від 0 до 359,99 градусів.

Початковий курс робота становить 0 градусів.

(курс руху у градусах)

Параметри

Опис

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

Приклад

коли запущено
[Display the heading after turning.]
повернути [праворуч v] на (90) градусів ▶
вивести (курс руху у градусах) ▶
перейти до наступного рядка

Дії#

Дії#

дія мінералів#

мінерали [забрати v]

Параметри

Опис

дія

Що робити з мінералами:

  • підібрати - Розміщує мінерали у сховищі VR-ровера.
  • скинути - Викидає мінерали.
  • використовувати - Витрачає мінерали на землі для відновлення енергії.

Зібрані мінерали зберігаються у VR-маршруті, доки їх не скинуть або не використовуватимуть.

Використання мінералів поповнює частину енергії VR-маршрутизатора. Мінерали можна використовувати, лише якщо вони знаходяться на землі.

VR-маршрутизатор отримує очки досвіду (XP), використовуючи мінерали або скидаючи їх на базу.

Приклад

коли запущено
[Drive to the closest mineral and pick it up.]
перейти до [minerals v] ▶
мінерали [забрати v]

поглинають ворожу радіацію#

Блок поглинання радіації ворога поглинає радіацію від ворога на ігровому майданчику рятувального роверу.

поглинають випромінювання

Параметри

Опис

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

Приклад

коли запущено
[Drive to the closest enemy and absorb radiation.]
перейти до [enemy v] ▶
поглинають випромінювання

режим очікування#

Блок standby переводить VR Rover у режим очікування, доки не буде досягнуто заданого порогу заряду батареї.

режим очікування до [50] % заряду батареї

Параметри

Опис

відсоток

Поріг заряду батареї, який призводить до виходу VR-ровера з режиму очікування, від 0 до 100.

У режимі очікування VR-ровер використовує акумулятор повільніше, але лічильник Кількість днів, що вижили збільшується швидше.

Коли заряд батареї досягає вибраного порогу, VR Rover виходить з режиму очікування та повертається до звичайного використання батареї та денного ходу.

Якщо вибраний поріг дорівнює або перевищує поточний рівень заряду батареї, VR Rover не перейде в режим очікування.

Приклад

коли запущено
[Wait in standby until battery reaches 35%.]
режим очікування до [35] % заряду батареї
перейти до [minerals v] ▶

Цінності#

марсохід бачить#

Блок rover sees повертає логічне значення, яке вказує, чи бачить VR-ровер вибраний об’єкт, використовуючи вбудовану технологію штучного інтелекту.

  • True – Вибраний об’єкт знаходиться в межах 1000 міліметрів від VR-ровера та в його полі зору.

  • Хибно – вибраний об’єкт знаходиться на відстані понад 1000 міліметрів та/або поза полем зору.

<бачить [minerals v]?>

Параметри

Опис

об’єкт

Який об’єкт перевіряти:

  • мінерали
  • ворог
  • база
  • перешкоди
  • небезпеки

Поле зору VR-ровера становить 40 градусів, що показано на міні-карті як сірий напівпрозорий конус, що простягається від передньої частини марсохода.

Приклад

коли запущено
назавжди
якщо <бачить [minerals v]?> тоді
перейти до [minerals v] ▶
Кінець
Кінець

марсохід виявляє#

Блок rover detects повертає логічне значення, яке вказує, чи виявляє VR-ровер мінерали чи ворогів за допомогою вбудованої технології штучного інтелекту.

  • True – Вибраний об’єкт знаходиться в радіусі виявлення марсохода.

  • Хибно – Вибраний об’єкт не знаходиться в радіусі виявлення марсохода.

<виявляє [minerals v]?>

Параметри

Опис

об’єкт

Який об’єкт виявляти:

  • мінерали
  • ворог

Радіус виявлення VR-ровера становить 800 міліметрів, що показано на міні-карті жовтим колом навколо марсохода.

Приклад

коли запущено
назавжди
якщо <виявляє [minerals v]?> тоді
перейти до [minerals v] ▶
Кінець
Кінець

мінерали на складі#

Блок мінерали в сховищі повертає поточну кількість мінералів, що знаходяться у сховищі VR-маршрутизатора.

(мінерали на складі)

Параметри

Опис

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

Приклад

коли запущено
вивести (мінерали на складі) ▶
перейти до наступного рядка

місткість сховища#

Блок storage capacity повертає місткість сховища VR-ровера.

(місткість сховища)

Параметри

Опис

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

Приклад

коли запущено
вивести (місткість сховища) ▶
перейти до наступного рядка

напрямок руху марсохода#

Блок напрямок ровера повертає напрямок від VR-ровера до вибраного об’єкта в градусах.

([minerals v] напрямок у градусах)

Параметри

Опис

об’єкт

Напрямок якого об’єкта повідомляти:

  • мінерали
  • ворог
  • база

Щодо мінералів та ворогів, цей блок повідомляє значення лише тоді, коли вибраний об’єкт знаходиться в межах 1000 міліметрів та в межах 40-градусного поля зору марсохода.

Якщо вибрано база, напрямок повідомляється, навіть якщо база не знаходиться в полі зору. Для бази цей блок повідомляє значення від -180 до 180 градусів.

Приклад

коли запущено
вивести ([minerals v] напрямок у градусах) ▶
перейти до наступного рядка

відстань марсохода#

Блок rover distance повертає відстань від VR-ровера до вибраного об’єкта.

(відстань [minerals v] у [мм v] :: custom-actions)

Параметри

Опис

об’єкт

Відстань до якого об’єкта повідомляти:

  • мінерали
  • ворог
  • перешкоди
  • небезпеки
  • база

одиниця

Одиниця вимірювання відстані: мм або дюйми

Щодо мінералів та ворогів, цей блок повідомляє значення лише тоді, коли вибраний об’єкт знаходиться в межах 1000 міліметрів та в межах 40-градусного поля зору марсохода.

Якщо вибрано база, відстань повідомляється, навіть якщо база не знаходиться в полі зору.

Приклад

коли запущено
вивести (відстань [minerals v] у [мм v] :: custom-actions) ▶
перейти до наступного рядка

місцезнаходження марсохода#

Блок розташування ровера повертає координату X або Y вибраного об’єкта, використовуючи вбудовану технологію штучного інтелекту ровера.

([minerals v] локацій [X v] з [мм v])

Параметри

Опис

об’єкт

Місцезнаходження якого об’єкта повідомляти:

  • мінерали
  • ворог
  • перешкоди
  • небезпеки
  • база

вісь

Яку координату повернути:

  • X
  • Y

одиниця

Одиниця вимірювання, що використовується для повідомлення координат: мм або дюйми

Щодо мінералів та ворогів, цей блок повідомляє значення лише тоді, коли вибраний об’єкт знаходиться в межах 1000 міліметрів та в межах 40-градусного поля зору марсохода.

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

Приклад

коли запущено
вивести ([base v] локацій [X v] з [мм v]) ▶
перейти до наступного рядка
вивести ([base v] локацій [Y v] з [мм v]) ▶
перейти до наступного рядка

під атакою#

Блок під атакою повертає логічне значення, яке вказує, чи VR Rover зараз атакується ворогом.

  • Правда – VR-маршрут під атакою.

  • Хибно – VR-маршрутизатор не атакують.

<під атакою?>

Параметри

Опис

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

Приклад

коли запущено
назавжди
якщо <під атакою?> тоді
їхати [назад v] на [500] [мм v] ▶
Кінець
Кінець

рівень ворога#

Блок рівень ворога повертає рівень найближчого ворога, виявленого VR-маршрутизатором.

(рівень ворога)

Параметри

Опис

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

Коли в радіусі виявлення VR-ровера не виявлено ворогів, цей блок повертає 0.

Приклад

коли запущено
назавжди
якщо <(рівень ворога) [math_equal v] [1]> тоді
перейти до [enemy v] ▶
інакше
їхати [назад v] на [500] [мм v] ▶
Кінець
Кінець

вороже випромінювання#

Блок ворожого випромінювання повертає випромінювання найближчого ворога, виявленого VR-маршрутизатором.

(вороже випромінювання)

Параметри

Опис

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

Коли в радіусі виявлення VR-ровера не виявлено ворогів, цей блок повертає 0.

Приклад

коли запущено
вивести (вороже випромінювання) ▶
перейти до наступного рядка

рівень заряду батареї#

Блок battery level повертає поточний рівень заряду батареї VR Rover у відсотках.

(рівень заряду акумулятора у % :: custom-actions)

Параметри

Опис

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

Приклад

коли запущено
вивести (рівень заряду акумулятора у % :: custom-actions) ▶
перейти до наступного рядка

рівень#

Блок level повертає поточний рівень VR-ровера.

(рівень)

Параметри

Опис

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

Приклад

коли запущено
вивести (рівень) ▶
перейти до наступного рядка

досвід#

Блок XP повертає поточну кількість очок досвіду, які має VR-маршрутизатор.

(досвід)

Параметри

Опис

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

Приклад

коли запущено
вивести (досвід) ▶
перейти до наступного рядка

під час атаки#

Блок when under attack запускає приєднаний стек щоразу, коли VR-маршрут атакує ворог.

під час атаки

Параметри

Опис

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

Приклад

під час атаки
поглинають випромінювання

коли підвищується рівень#

Блок when level up запускає приєднаний стек щоразу, коли VR-ровер переміщується з одного рівня на наступний.

коли підвищується рівень

Параметри

Опис

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

Приклад

коли підвищується рівень
вивести [The VR Rover has leveled up!] ▶
перейти до наступного рядка

Зондування#

Відстань#

Відстань знайденого об’єкта#

Блок Відстань знайдено до об’єкта повертає логічне значення, яке вказує, чи виявив датчик відстані об’єкт у межах 2000 мм.

  • True – Датчик відстані виявив об’єкт.

  • Хибно – Датчик відстані не виявив об’єкт.

<[distance v] знайшов об'єкт?>

Параметри

Опис

датчик відстані

Який датчик відстані використовувати? На цьому ігровому майданчику доступний датчик відстані distance.

Приклад

коли запущено
[Turn until the Distance Sensor detects an object.]
повернути [праворуч v]
чекати до <[distance v] знайшов об'єкт?>
зупинити рух

відстань до об’єкта#

Блок відстань до об’єкта повертає відстань до найближчого об’єкта від датчика відстані.

([distance v] in [mm v])

Параметри

Опис

датчик відстані

Який датчик відстані використовувати? На цьому ігровому майданчику доступний датчик відстані distance.

одиниця

Одиниця вимірювання відстані: мм або дюйми

Приклад

коли запущено
[Wait until the Distance Sensor detects an object, then print the distance.]
повернути [праворуч v]
чекати до <[distance v] знайшов об'єкт?>
зупинити рух
вивести ([distance v] in [mm v]) ▶