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

Введение#

Робот-вездеход VR Rover включает в себя трансмиссию, датчик расстояния и действия, уникальные для игровой площадки Rover Rescue.

Все стандартные блоки VEXcode VR доступны для использования на игровой площадке Rover Rescue.

Ниже приведён список всех доступных блоков, разработанных специально для роботов:

Трансмиссия - Перемещение и поворот вездехода VR.

Действия — Взаимодействуйте с ресурсами марсохода, врагами и встроенными системами искусственного интеллекта.

  • Действия

  • Ценности

    • ровер видит - Возвращает значение, указывающее, видит ли VR-ровер объект в пределах своей зоны видимости.

    • rover detects - Возвращает значение, указывающее, обнаружил ли VR-ровер минералы или врагов в радиусе своего обнаружения.

    • минералы в хранилище - Возвращает количество минералов, перевозимых вездеходом VR.

    • объем памяти - Возвращает текущую грузоподъемность VR-ровера.

    • направление марсохода - Возвращает направление к объекту в градусах.

    • расстояние до объекта - Возвращает расстояние до объекта в миллиметрах или дюймах.

    • местоположение марсохода - Возвращает координаты X или Y объекта в миллиметрах или дюймах.

    • под атакой - Возвращает значение, указывающее, находится ли в данный момент VR-ровер под атакой.

    • уровень врага - Возвращает уровень ближайшего обнаруженного врага.

    • излучение противника - Возвращает излучение ближайшего обнаруженного противника.

    • уровень заряда батареи - Возвращает текущий уровень заряда батареи VR-ровера в процентах

    • уровень - Возвращает текущий уровень VR-вездехода.

    • XP - Возвращает текущее количество очков опыта VR-вездехода.

    • при атаке - Запускает прикрепленные блоки, когда VR-ровер подвергается атаке.

    • при повышении уровня - Запускает прикрепленные блоки при повышении уровня VR-ровера.

Обнаружение объектов — датчик расстояния марсохода.

В примерах на этой странице используется начальная позиция по умолчанию в игровой зоне.

Трансмиссия#

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

Действия#

водить машину#

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

движение [вперёд 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) секунд
остановить движение

Настройки#

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

Блок установки скорости вращения определяет скорость движения робота. Более высокое значение в процентах увеличивает скорость движения, а более низкое — уменьшает.

Каждый проект начинается с того, что робот по умолчанию движется со скоростью, составляющей 50% от максимальной.

Примечание: Более высокая скорость приводит к более быстрому движению робота, но может снизить точность. Более низкая скорость приводит к более медленному движению робота, но может повысить точность.

установить скорость движения (50) [% v]

Параметры

Описание

скорость

Скорость движения от 0% до 100%.

единица

Единица измерения скорости: %

Пример

при запуске
[Move faster.]
установить скорость движения (100) [% v]
движение [вперёд v] на (100) [мм v] ▶

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

Блок установка скорости поворота определяет скорость поворота робота. Более высокое значение в процентах ускоряет поворот, а более низкое — замедляет.

Каждый проект начинается с того, что робот по умолчанию вращается со скоростью, составляющей 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] ▶

Ценности#

Поездка завершена#

Логический блок движение завершено сообщает, закончил ли робот движение. Это можно использовать для управления временем выполнения других действий в зависимости от движения робота.

  • Верно - Робот завершил движение.

  • Неверно - Робот всё ещё движется.

Этот блок работает совместно с блоками трансмиссии, имеющими параметр и не ожидая.

<движение завершено?>

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
[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. Минералы можно использовать только в том случае, если они находятся на земле.

Виртуальный вездеход получает очки опыта (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-ровер в режим ожидания до тех пор, пока не будет достигнут заданный порог заряда батареи.

режим ожидания до [50] % заряда батареи

Параметры

Описание

процент

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

В режиме ожидания VR-ровер расходует заряд батареи медленнее, но счетчик количество дней работы увеличивается с большей скоростью.

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

Если выбранный пороговый уровень равен или превышает текущий уровень заряда батареи, VR-ровер не перейдет в режим ожидания.

Пример

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

Ценности#

марсоход видит#

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

  • Истина — выбранный объект находится в пределах 1000 миллиметров от VR-ровера и в его поле зрения.

  • Ложь — выбранный объект находится на расстоянии более 1000 миллиметров и/или вне поля зрения.

<видит [minerals v]?>

Параметры

Описание

объект

Какой объект нужно проверить:

  • минералы
  • враг
  • база
  • препятствия
  • опасности

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

Пример

при запуске
вечно
если <видит [minerals v]?> то
перейти [minerals v] ▶
конец
конец

марсоход обнаруживает#

Блок rover detects возвращает логическое значение, указывающее, обнаруживает ли VR-ровер минералы или врагов, используя встроенную технологию искусственного интеллекта.

  • Истина — выбранный объект находится в пределах радиуса обнаружения марсохода.

  • Ложь — выбранный объект находится за пределами радиуса обнаружения марсохода.

<обнаруживает [minerals v]?>

Параметры

Описание

объект

Какой объект нужно обнаружить:

  • минералы
  • враг

Радиус обнаружения марсохода VR составляет 800 миллиметров, что показано на мини-карте желтым кругом вокруг марсохода.

Пример

при запуске
вечно
если <обнаруживает [minerals v]?> то
перейти [minerals v] ▶
конец
конец

минералы в хранилище#

Блок минералы в хранилище отображает текущее количество минералов, находящихся в хранилище VR-ровера.

(минералы в хранилище)

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
вывести (минералы в хранилище) ▶
перенести курсор на следующую строку

емкость хранения#

Блок емкость хранилища возвращает значение емкости хранилища VR-ровера.

(емкость хранилища)

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
вывести (емкость хранилища) ▶
перенести курсор на следующую строку

направление марсохода#

Блок направление движения ровера возвращает направление от VR-ровера к выбранному объекту в градусах.

(Направление [minerals v] в градусах)

Параметры

Описание

объект

Направление какого объекта следует указать:

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

Для минералов и врагов этот блок отображает значения только тогда, когда выбранный объект находится в пределах 1000 миллиметров и внутри 40-градусного поля зрения марсохода.

Если выбран параметр база, направление отображается даже тогда, когда база не находится в поле зрения. Для базы этот блок отображает значение от -180 до 180 градусов.

Пример

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

расстояние ровера#

Блок расстояние до ровера возвращает расстояние от 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-ровер под атакой противника.

  • Верно — вездеход VR подвергается атаке.

  • Ложь — VR-маршрутизатор не подвергается нападению.

<Под атакой?>

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
вечно
если <Под атакой?> то
движение [назад v] на [500] [мм v] ▶
конец
конец

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

Блок уровень врага возвращает уровень ближайшего врага, обнаруженного VR-вездеходом.

(уровень противника)

Параметры

Описание

Этот блок не имеет параметров.

Если в радиусе обнаружения VR-вездехода не обнаружено врагов, этот блок возвращает 0.

Пример

при запуске
вечно
если <(уровень противника) [math_equal v] [1]> то
перейти [enemy v] ▶
иначе
движение [назад v] на [500] [мм v] ▶
конец
конец

вражеское излучение#

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

(вражеское излучение)

Параметры

Описание

Этот блок не имеет параметров.

Если в радиусе обнаружения VR-вездехода не обнаружено врагов, этот блок возвращает 0.

Пример

при запуске
вывести (вражеское излучение) ▶
перенести курсор на следующую строку

уровень заряда батареи#

Блок уровень заряда батареи отображает текущий уровень заряда батареи VR-ровера в процентах.

(уровень заряда батареи в % :: custom-actions)

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
вывести (уровень заряда батареи в % :: custom-actions) ▶
перенести курсор на следующую строку

уровень#

Блок level возвращает текущий уровень виртуального марсохода.

(уровень)

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
вывести (уровень) ▶
перенести курсор на следующую строку

XP#

Блок XP возвращает текущее количество очков опыта, которыми обладает VR-ровер.

(ХР)

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
вывести (ХР) ▶
перенести курсор на следующую строку

при нападении#

Блок при атаке запускает прикрепленный к нему стек каждый раз, когда VR-ровер подвергается атаке противника.

когда подвергается нападению

Параметры

Описание

Этот блок не имеет параметров.

Пример

когда подвергается нападению
поглощать излучение

при повышении уровня#

Блок при повышении уровня запускает прикрепленный к нему стек каждый раз, когда VR-ровер перемещается с одного уровня на следующий.

когда уровень повышается

Параметры

Описание

Этот блок не имеет параметров.

Пример

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

Ощущение#

Расстояние#

Расстояние, на котором был найден объект#

Блок Distance found an object возвращает логическое значение, указывающее, обнаружил ли датчик расстояния объект в пределах 2000 мм.

  • Верно — датчик расстояния обнаружил объект.

  • Ложь — датчик расстояния не обнаружил объект.

<[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]) ▶