Python, разработанный специально для роботов#

Введение#

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

Все стандартные методы VEXcode VR доступны для использования в среде Rover Rescue. Ниже приведен список всех доступных методов, специфичных для этой среды:

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

  • Действия

    • drive - Двигает вездеход VR вперед или назад бесконечно.

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

    • turn - Поворачивает вездеход VR влево или вправо навсегда.

    • turn_for - Поворачивает VR-ровер влево или вправо на определенное количество градусов.

    • turn_to_heading - Поворачивает VR-ровер в определенном направлении от -359 до 359 градусов.

    • drive_to - Направляет VR-ровер прямо к выбранному объекту.

    • turn_to - Поворачивает VR-ровер лицом к выбранному объекту.

    • go_to - Разворачивает и направляет VR-ровер к выбранному объекту.

    • stop - Останавливает движение VR-ровера.

  • Мутаторы

    • set_heading – Изменяет текущее направление движения VR-вездехода на новое направление.

    • set_timeout - Устанавливает, сколько времени VR-ровер будет пытаться завершить движение.

    • set_drive_velocity – Указывает VR-роверу, с какой скоростью двигаться.

    • set_turn_velocity – Указывает VR-роверу, с какой скоростью нужно поворачивать.

  • Геттеры

    • heading - Возвращает текущий курс VR-маршрутизатора от 0 до 359,99 градусов.

    • is_done - Возвращает значение true, если VR-ровер завершил движение.

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

Консоль – Вывод значений в консоль и их мониторинг.

  • Печать

    • brain.print — Отображает текст, числа или значения переменных в консоли.

    • brain.new_line — Перемещает курсор консоли в начало следующей строки.

    • brain.set_print_color — Устанавливает цвет, используемый для текста, выводимого в консоль.

    • brain.clear — Очищает все строки из консоли.

  • Монитор

    • monitor_variable — Добавляет одну или несколько предопределенных переменных на вкладку «Монитор».

    • monitor_sensor — Добавляет одно или несколько значений датчика на вкладку «Монитор».

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

  • Расстояние

    • found_object - Возвращает значение, указывающее, обнаружил ли датчик расстояния объект.

    • get_distance - Возвращает расстояние до ближайшего обнаруженного объекта.

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

  • Действия

    • pickup - Подбирает минералы.

    • drop - Выпадает минералы.

    • use - Использует минералы для восстановления энергии.

    • absorb_radiation - Поглощает радиацию от врага.

    • standby - Переводит VR-ровер в режим ожидания до достижения порогового значения заряда батареи.

  • Геттеры

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

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

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

    • battery - Возвращает уровень заряда батареи VR-ровера.

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

    • storage_capacity - Возвращает грузоподъемность VR-ровера.

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

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

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

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

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

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

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

  • Обратные звонки

    • on_under_attack - Выполняет обратный вызов при атаке на VR-ровер.

    • on_level_up - Выполняет обратный вызов при повышении уровня VR-вездехода.

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

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

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

Действия#

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

Привод drive перемещает вездеход VR вперед или назад бесконечно. Вездеход VR будет продолжать движение, пока ему не будет дано другое действие, например, поворот или остановка.

Usage:
drivetrain.drive(direction)

Параметры

Описание

direction

Направление движения VR-ровера: FORWARD или REVERSE.

def main():
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

drive_for#

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

Usage:
drivetrain.drive_for(direction, distance, units, wait=True)

Параметры

Описание

direction

Направление движения VR-ровера: FORWARD или REVERSE.

distance

Расстояние, пройденное вездеходом VR. Это может быть целое число integer или десятичное число (float).

units

Единица измерения расстояния: INCHES или MM (миллиметра).

wait

Необязательно. wait=True (по умолчанию) заставляет проект ждать, пока VR-ровер не завершит движение, прежде чем будет выполнена следующая строка кода. wait=False заставляет следующую строку кода выполниться немедленно.

def main():
    drivetrain.drive_for(FORWARD, 200, MM)

# VR threads — Do not delete
vr_thread(main)

повернуть#

turn поворачивает VR-ровер влево или вправо бесконечно. VR-ровер будет продолжать поворачивать, пока ему не будет дано другое действие, например, движение или остановка.

Usage:
drivetrain.turn(direction)

Параметры

Описание

direction

Направление поворота VR-ровера: LEFT или RIGHT.

def main():
    drivetrain.turn(RIGHT)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

turn_for#

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

Usage:
drivetrain.turn_for(direction, angle, units, wait=True)

Параметры

Описание

direction

Направление поворота VR-ровера: LEFT или RIGHT.

angle

Количество градусов, на которое поворачивается VR-ровер. Это может быть целое число integer или десятичная дробь (float).

units

Единица вращения: DEGREES.

wait

Необязательно. wait=True (по умолчанию) заставляет проект ждать, пока VR-ровер не завершит вращение, прежде чем будет выполнена следующая строка кода. wait=False заставляет следующую строку кода выполниться немедленно.

def main():
    drivetrain.turn_for(RIGHT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

turn_to_heading#

Направление — это то, в каком направлении смотрит VR-ровер, измеряемое в градусах. turn_to_heading поворачивает VR-ровер в определенном направлении от -359 до 359 градусов. VR-ровер повернется по кратчайшему направлению, чтобы достичь целевого курса.

Начальный курс марсохода VR составляет 0 градусов.

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

Usage:
drivetrain.turn_to_heading(heading, units, wait=True)

Параметры

Описание

heading

Направление, в котором должен быть обращен VR-ровер, в градусах. Это может быть целое число integer или десятичное число (float) от -359 до 359.

units

Единица измерения заголовка: DEGREES.

wait

Необязательно. wait=True (по умолчанию) заставляет проект ждать, пока VR-ровер не завершит вращение, прежде чем будет выполнена следующая строка кода. wait=False заставляет следующую строку кода выполниться немедленно.

def main():
    drivetrain.turn_to_heading(90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

drive_to#

drive_to направляет VR-ровер прямо к выбранному объекту.

Usage:
drivetrain.drive_to(object, wait=True)

Параметры

Описание

object

К какому объекту направится VR-ровер:

  • BASE
  • ENEMY
  • MINERALS

wait

Необязательно. wait=True (по умолчанию) заставляет проект ждать завершения перемещения, прежде чем выполнить следующую строку кода. wait=False заставляет следующую строку кода выполниться немедленно.

Если в зоне видимости VR-вездехода не обнаружен минерал или враг при вызове функции drive_to , VR-вездеход не будет двигаться. Базу всегда можно выбрать в качестве цели.

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

def main():
    drivetrain.drive_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

turn_to#

turn_to поворачивает VR-ровер лицом к выбранному объекту.

Usage:
drivetrain.turn_to(object, wait=True)

Параметры

Описание

object

К какому объекту повернется VR-ровер:

  • BASE
  • ENEMY
  • MINERALS

wait

Необязательно.

  • wait=True (по умолчанию) — Дождаться завершения хода.
  • wait=False — Начать ход и продолжить немедленно.

Если в зоне видимости VR-вездехода не обнаружен минерал или враг при вызове функции turn_to , VR-вездеход не будет поворачиваться. Базу всегда можно атаковать.

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

def main():
    drivetrain.turn_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

go_to#

go_to поворачивает и направляет VR-ровер к выбранному объекту.

Usage:
drivetrain.go_to(object, wait=True)

Параметры

Описание

object

К какому объекту VR-ровер повернется и поедет:

  • BASE
  • ENEMY
  • MINERALS

wait

Необязательно. wait=True (по умолчанию) заставляет проект ждать завершения перемещения, прежде чем выполнить следующую строку кода. wait=False заставляет следующую строку кода выполниться немедленно.

Если в зоне видимости VR-вездехода не обнаружен минерал или враг при вызове функции go_to ), VR-вездеход не будет двигаться. Базу всегда можно выбрать в качестве цели.

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

def main():
    drivetrain.go_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

останавливаться#

stop останавливает движение VR-ровера.

Usage:
drivetrain.stop()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

Мутаторы#

set_heading#

Направление движения — это направление, в котором смотрит VR-ровер, измеряемое в градусах. Параметр set_heading изменяет текущее направление движения VR-ровера на новое значение.

Например, если VR-ровер повернулся вправо, установка курса на 0 градусов делает это положение, в котором он повернут вправо, новым значением 0 градусов. Затем VR-ровер может поворачиваться в другие положения, исходя из этого нового курса.

Usage:
drivetrain.set_heading(heading, units)

Параметры

Описание

heading

Значение направления в градусах, которое нужно задать для VR-ровера. Это может быть целое число integer или десятичное число (float).

units

Единица измерения заголовка: DEGREES.

def main():
    drivetrain.set_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_timeout#

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

Usage:
drivetrain.set_timeout(value, units)

Параметры

Описание

value

Время, в течение которого VR-ровер может попытаться завершить движение. Это может быть положительное целое число integer или десятичное число (float).

units

Единица измерения времени: SECONDS или MSEC).

def main():
    drivetrain.set_timeout(1, SECONDS)

# VR threads — Do not delete
vr_thread(main)

set_drive_velocity#

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

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

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

Usage:
drivetrain.set_drive_velocity(velocity, units)

Параметры

Описание

velocity

Скорость движения от 0% до 100%. Это может быть целое число integer или десятичное число (float).

units

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

def main():
    drivetrain.set_drive_velocity(50, PERCENT)

# VR threads — Do not delete
vr_thread(main)

set_turn_velocity#

Параметр set_turn_velocity указывает VR-маршрутизатору, с какой скоростью он должен поворачивать. Более высокое значение в процентах приводит к более быстрому повороту VR-маршрутизатора, а более низкое — к более медленному.

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

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

Usage:
drivetrain.set_turn_velocity(velocity, units)

Параметры

Описание

velocity

Скорость поворота от 0% до 100%. Это может быть целое число integer или десятичное число (float).

units

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

def main():
    drivetrain.set_turn_velocity(50, PERCENT)

# VR threads — Do not delete
vr_thread(main)

Геттеры#

заголовок#

Направление движения — это то, в каком направлении смотрит VR-ровер, измеренное в градусах. heading возвращает текущее направление движения VR-ромера от 0 до 359,99 градусов.

Начальный курс марсохода VR составляет 0 градусов.

Usage:
drivetrain.heading(units)

Параметры

Описание

units

Единица измерения заголовка: DEGREES.

def main():
    brain.screen.print(drivetrain.heading(DEGREES))

# VR threads — Do not delete
vr_thread(main)

готово#

is_done возвращает значение логического типа (Boolean), указывающее, завершило ли движение VR-вездехода. Это можно использовать для управления временем выполнения других действий в зависимости от движения VR-вездехода.

  • True — VR-ровер завершил движение.

  • False — VR-ровер всё ещё движется.

Этот метод работает совместно с методами Drivetrain, имеющими параметр wait , такими как drive_for, turn_for, turn_to_heading, drive_to, turn_to и go_to.

Usage:
drivetrain.is_done()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    drivetrain.drive_for(FORWARD, 200, MM, wait=False)
    wait(0.1, SECONDS)
    if drivetrain.is_done():
        brain.screen.print("Drive complete")

# VR threads — Do not delete
vr_thread(main)

is_moving#

is_moving` возвращает значение логического типа (Boolean), указывающее, движется ли VR-ровер. Это можно использовать для управления синхронизацией других действий в зависимости от движения VR-ровера.

  • True — VR-ровер движется.

  • False — VR-ровер не движется.

Usage:
drivetrain.is_moving()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    drivetrain.drive_for(FORWARD, 200, MM, wait=False)
    wait(0.1, SECONDS)
    if drivetrain.is_moving():
        brain.screen.print("Still moving")

# VR threads — Do not delete
vr_thread(main)

Консоль#

В консоли отображаются текст, числа и значения переменных во время выполнения проекта. Методы консоли также позволяют перемещать курсор на новую строку, устанавливать цвет текста, выводимого после изменения цвета, очищать консоль и добавлять переменные или значения датчиков на вкладку «Монитор».

Печать#

мозг.принт#

brain.print отображает текст, числа или значения переменных в консоли, используя текущую позицию курсора.

Используйте brain.new_line, если хотите, чтобы следующее выводимое значение начиналось с новой строки.

Usage:
brain.print(value)

Параметры

Описание

value

Текст, число или значение переменной для отображения в консоли.

def main():
    # Display a message in the Console
    brain.print("Hello, rover!")

# VR threads — Do not delete
vr_thread(main)

Консоль VEXcode, отображающая консоль и текст «Привет, робот!».

мозг.новая_строка#

brain.new_line перемещает курсор в столбец 1 следующей строки в консоли. Следующее выводимое значение появится в этой строке.

Usage:
brain.new_line()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    # Print on two rows
    brain.print("Row 1")
    brain.new_line()
    brain.print("Row 2")

# VR threads — Do not delete
vr_thread(main)

Консоль VEXcode, отображающая консоль и текст «Строка 1» на первой строке и «Строка 2» на второй строке.

brain.set_print_color#

brain.set_print_color устанавливает цвет текста, отображаемого в консоли после применения этого метода. В начале проекта цвет текста в консоли устанавливается на BLACK.

Usage:
brain.set_print_color(color)

Параметры

Описание

color

Цвет текста, отображаемого в консоли:

  • BLACK
  • BLUE
  • GREEN
  • RED

def main():
    # Print text in different colors
    brain.print("Default text color")
    brain.new_line()
    brain.set_print_color(RED)
    brain.print("Red text color")

# VR threads — Do not delete
vr_thread(main)

Консоль VEXcode, отображающая консоль и черный текст «Цвет текста по умолчанию» в первой строке и красный текст «Красный цвет текста» во второй строке.

мозг.чистый#

brain.clear очищает все строки в консоли и перемещает курсор обратно в строку 1.

Usage:
brain.clear()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    # Display text, then clear it after two seconds
    brain.print("This will disappear...")
    wait(2, SECONDS)
    brain.clear()

# VR threads — Do not delete
vr_thread(main)

Монитор#

переменная монитора#

Параметр monitor_variable добавляет одну или несколько предопределенных переменных на вкладку «Монитор» в VEXcode. Это позволяет отслеживать изменение значения переменной во время выполнения проекта.

Для успешного мониторинга переменных monitor_variable они должны быть глобальными. Укажите имя каждой переменной в виде строки.

Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)

Параметры

Описание

variable

Имя предопределенной глобальной переменной для отслеживания, заданное в виде строки. Чтобы отслеживать несколько переменных, разделяйте имена переменных запятой.

def main():
    # Monitor the amount of loops
    global loops
    monitor_variable("loops")

    # Drive forward 3 times
    for loops in range(3):
        drivetrain.drive_for(FORWARD, 200, MM)

# VR threads — Do not delete
vr_thread(main)

монитор_датчик#

Параметр monitor_sensor добавляет одно или несколько значений датчиков на вкладку «Монитор» в VEXcode. Это позволяет отслеживать изменение значений датчиков во время выполнения проекта.

Укажите значение каждого датчика в виде строки.

Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)

Параметры

Описание

sensor

The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:

  • Brain
    • brain.timer_time
  • Drivetrain
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
  • Distance Sensor
    • distance.found_object
    • distance.get_distance
  • Rover
    • rover.battery
    • rover.minerals_stored
    • rover.level
    • rover.exp
    • rover.storage_capacity
    • rover.under_attack
    • rover.enemy_radiation
    • rover.enemy_level
    • rover.angle
    • rover.location
    • rover.detects
    • rover.sees
    • rover.get_distance

def main():
    # Monitor the rover's battery
    monitor_sensor("rover.battery")
    drivetrain.drive_for(FORWARD, 200, MM)

# VR threads — Do not delete
vr_thread(main)

Ощущение#

Расстояние#

найденный_объект#

found_object возвращает значение, указывающее, обнаружил ли датчик расстояния объект.

Usage:
distance.found_object()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    if distance.found_object():
        brain.screen.print("Object detected")

# VR threads — Do not delete
vr_thread(main)

get_distance#

get_distance возвращает расстояние до ближайшего обнаруженного объекта, измеренное датчиком расстояния.

Usage:
distance.get_distance(units)

Параметры

Описание

units

Единица измерения расстояния: INCHES или MM

def main():
    brain.screen.print(distance.get_distance(MM))

# VR threads — Do not delete
vr_thread(main)

Действия#

Действия#

подобрать#

pickup подбирает минералы.

Usage:
rover.pickup(object)

Параметры

Описание

object

Объект, который может поднять VR-ровер:

  • MINERALS

def main():
    rover.pickup(MINERALS)

# VR threads — Do not delete
vr_thread(main)

уронить#

drop капля перенесла минералы.

Usage:
rover.drop(object)

Параметры

Описание

object

Объект, который может сбросить VR-ровер:

  • MINERALS

def main():
    rover.drop(MINERALS)

# VR threads — Do not delete
vr_thread(main)

использовать#

use использует минералы для восстановления энергии. Минералы должны находиться на земле, чтобы их можно было использовать.

Usage:
rover.use(object)

Параметры

Описание

object

Объект, который может использовать VR-ровер:

  • MINERALS

def main():
    rover.use(MINERALS)

# VR threads — Do not delete
vr_thread(main)

поглощение_излучения#

absorb_radiation поглощает радиацию от врага.

Usage:
rover.absorb_radiation(object)

Параметры

Описание

object

Объект, от которого VR-ровер может поглощать излучение:

  • ENEMY

def main():
    rover.absorb_radiation(ENEMY)

# VR threads — Do not delete
vr_thread(main)

поддерживать#

standby переводит VR-ровер в режим ожидания до достижения заданного порогового значения заряда батареи.

Usage:
rover.standby(percent)

Параметры

Описание

percent

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

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

def main():
    rover.standby(50)

# VR threads — Do not delete
vr_thread(main)

Геттеры#

угол#

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

Usage:
rover.angle(object)

Параметры

Описание

object

Объект, направление которого необходимо определить:

  • BASE
  • ENEMY
  • MINERALS

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

def main():
    brain.screen.print(rover.angle(MINERALS))

# VR threads — Do not delete
vr_thread(main)

get_distance#

get_distance возвращает расстояние от VR-ровера до выбранного объекта.

Usage:
rover.get_distance(object, units=MM)

Параметры

Описание

object

Объект, расстояние до которого необходимо указать:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

units

Дополнительно. Единица измерения расстояния: INCHES или MM мм.

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

Для обнаружения препятствий и опасностей метод сообщает расстояние до видимого объекта. Если в поле зрения ничего нет, он возвращает значение 1000 мм или 39.37 дюйма.

def main():
    brain.screen.print(rover.get_distance(MINERALS, MM))

# VR threads — Do not delete
vr_thread(main)

расположение#

Параметр location возвращает координаты X или Y выбранного объекта.

Usage:
rover.location(object, axis, units)

Параметры

Описание

object

Объект, местоположение которого необходимо сообщить:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

axis

Какие координаты нужно вернуть:

  • X
  • Y

units

Единица измерения, используемая для указания местоположения: INCHES или MM

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

def main():
    brain.screen.print(rover.location(MINERALS, X, MM))

# VR threads — Do not delete
vr_thread(main)

батарея#

battery возвращает текущий уровень заряда батареи VR-ровера.

Usage:
rover.battery()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    brain.screen.print(rover.battery())

# VR threads — Do not delete
vr_thread(main)

минералы_хран#

minerals_stored возвращает текущее количество минералов, хранящихся в VR-ровере.

Usage:
rover.minerals_stored()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    brain.screen.print(rover.minerals_stored())

# VR threads — Do not delete
vr_thread(main)

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

storage_capacity возвращает грузоподъемность VR-ровера.

Usage:
rover.storage_capacity()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    brain.screen.print(rover.storage_capacity())

# VR threads — Do not delete
vr_thread(main)

уровень#

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

Usage:
rover.level()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    brain.screen.print(rover.level())

# VR threads — Do not delete
vr_thread(main)

эксп#

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

Usage:
rover.exp()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    brain.screen.print(rover.exp())

# VR threads — Do not delete
vr_thread(main)

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

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

Usage:
rover.enemy_level()

Параметры

Описание

Этот метод не имеет параметров.

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

def main():
    brain.screen.print(rover.enemy_level())

# VR threads — Do not delete
vr_thread(main)

враг_радиация#

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

Usage:
rover.enemy_radiation()

Параметры

Описание

Этот метод не имеет параметров.

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

def main():
    brain.screen.print(rover.enemy_radiation())

# VR threads — Do not delete
vr_thread(main)

обнаруживает#

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

Usage:
rover.detects(object)

Параметры

Описание

object

Объект для обнаружения:

  • ENEMY
  • MINERALS

Радиус обнаружения марсохода VR составляет 800 мм.

def main():
    if rover.detects(MINERALS):
        brain.screen.print("Minerals detected")

# VR threads — Do not delete
vr_thread(main)

видит#

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

Usage:
rover.sees(object)

Параметры

Описание

object

Объект для наблюдения:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

VR-маршрутизатор способен видеть объекты на расстоянии до 1000 мм и в пределах своего поля зрения в 40 градусов.

def main():
    if rover.sees(MINERALS):
        brain.screen.print("Minerals in view")

# VR threads — Do not delete
vr_thread(main)

под атакой#

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

Usage:
rover.under_attack()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    if rover.under_attack():
        brain.screen.print("The rover is under attack!")

# VR threads — Do not delete
vr_thread(main)

Обратные звонки#

on_under_attack#

on_under_attack регистрирует функцию обратного вызова, которая запускается, когда VR-ровер получает урон от врага.

Usage:
rover.on_under_attack(callback)

Параметры

Описание

callback

Функция, которая запускается при атаке на VR-ровер.

def under_attack():
    brain.screen.print("The rover is under attack!")

def main():
    rover.on_under_attack(under_attack)
    wait(0.15, SECONDS)

# VR threads — Do not delete
vr_thread(main)

on_level_up#

on_level_up регистрирует функцию обратного вызова, которая запускается при перемещении VR-вездехода с одного уровня на другой.

Usage:
rover.on_level_up(callback)

Параметры

Описание

callback

Функция, которая запускается при повышении уровня VR-вездехода.

def level_up():
    brain.screen.print("The rover leveled up!")

def main():
    rover.on_level_up(level_up)
    wait(0.15, SECONDS)

# VR threads — Do not delete
vr_thread(main)