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

Вступ#

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

Усі стандартні методи віртуальної реальності VEXcode доступні для використання на ігровому майданчику 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 – Повертає, чи завершив рух 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 Rover у режим очікування, доки не буде досягнуто порогового значення заряду батареї.

  • Геттери

    • 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 переміщує 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 повертає 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)

поворот_до_заголовка#

Курс – це напрямок, у якому рухається 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 спрямовує 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 повертає VR-ровер обличчям до вибраного об’єкта.

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

Параметри

Опис

object

До якого об’єкта повернеться VR-маршрутизатор:

  • BASE
  • ENEMY
  • MINERALS

wait

Необов’язково.

  • wait=True (за замовчуванням) — Зачекати завершення ходу.
  • wait=False — Розпочати хід і продовжити негайно.

If a mineral or enemy is not detected in the VR Rover’s visual range when turn_to is called, the VR Rover will not turn. The base can always be targeted.

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

def main():
    drivetrain.turn_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

перейти до#

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 вказує VR-роверу, з якою швидкістю рухатися. Вищий відсоток робить VR-ровер швидшим, а нижчий відсоток робить 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 вказує VR-маршрутнику, з якою швидкістю потрібно повертати. Вищий відсоток змушує 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 повертає, чи завершив рух 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 повертає, чи рухається 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#

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#

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

Значення датчика для моніторингу у вигляді рядка. Щоб моніторити значення кількох датчиків, розділяйте кожне значення комою. Підтримувані ідентифікатори датчиків включають:

  • 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 повертає відстань до найближчого виявленого об’єкта з датчика відстані.

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 Rover у режим очікування, доки не буде досягнуто заданого порогу заряду батареї.

Usage:
rover.standby(percent)

Параметри

Опис

percent

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

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

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 повертає відстань від 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 Rover.

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 Rover під атакою ворога.

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 реєструє функцію зворотного виклику, яка виконується, коли 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 реєструє функцію зворотного виклику, яка виконується, коли 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)