로봇 전용 파이썬#

소개#

VR 로버 로봇에는 구동계, 거리 센서 및 로버 구조 플레이그라운드에 고유한 동작이 포함되어 있습니다.

모든 표준 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 - VR 로버가 이동을 완료했는지 여부를 반환합니다.

    • is_moving - VR 로버가 움직이는지 여부를 반환합니다.

콘솔 - 콘솔에 출력하고 값을 모니터링합니다.

  • 인쇄

    • brain.print — 콘솔에 텍스트, 숫자 또는 변수 값을 표시합니다.

    • brain.new_line — 콘솔 커서를 다음 행의 시작 부분으로 이동합니다.

    • brain.set_print_color — 콘솔에 출력되는 텍스트에 사용되는 색상을 설정합니다.

    • brain.clear — 콘솔의 모든 행을 지웁니다.

  • 감시 장치

    • monitor_variable — 모니터 탭에 하나 이상의 미리 정의된 변수를 추가합니다.

    • monitor_sensor — 모니터 탭에 하나 이상의 센서 값을 추가합니다.

감지 - 로버의 거리 센서를 이용하여 주변 물체를 감지합니다.

  • 거리

    • found_object - 거리 센서가 객체를 감지했는지 여부를 반환합니다.

    • get_distance - 가장 가까운 감지된 객체까지의 거리를 반환합니다.

액션 - 로버의 자원, 적, 내장된 AI 시스템과 상호작용하세요.

  • 행위

    • 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 로버가 레벨업할 때 콜백을 실행합니다.

이 페이지의 예제는 Playground의 기본 시작 위치를 사용합니다.

구동계#

구동계는 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 (소수점 이하 1개)일 수 있습니다.

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 또는 -359에서 359 사이의 소수(float) 값을 입력할 수 있습니다.

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 은 다음 코드 줄이 즉시 실행되도록 합니다.

drive_to 호출 시 VR 로버의 시야 범위 내에서 광물이나 적이 감지되지 않으면 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 — 턴을 시작하고 즉시 계속합니다.

turn_to 함수가 호출될 때 VR 로버의 시야 범위 내에 광물이나 적이 감지되지 않으면 VR 로버는 방향을 바꾸지 않습니다. 기지는 항상 목표로 삼을 수 있습니다.

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 은 다음 코드 줄이 즉시 실행되도록 합니다.

go_to 호출 시 VR 로버의 시야 범위 내에서 광물이나 적이 감지되지 않으면 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)

돌연변이체#

제목 설정#

헤딩은 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 , 2, 3) 정수 또는 소수(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 로버가 기본적으로 50% 속도로 주행하는 것으로 시작됩니다.

참고: 속도가 높을수록 VR 로버의 주행 속도는 빨라지지만 정밀도는 떨어질 수 있습니다. 속도가 낮을수록 VR 로버의 주행 속도는 느려지지만 정밀도는 높아질 수 있습니다.

Usage:
drivetrain.set_drive_velocity(velocity, units)

매개변수

설명

velocity

주행 속도는 0%에서 100%까지입니다. 정수 integer 또는 10진수(실수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 로버가 기본적으로 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 로버는 여전히 움직이고 있습니다.

This method works together with Drivetrain methods that have the wait parameter, such as drive_for, turn_for, turn_to_heading, drive_to, turn_to, and 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 콘솔, 콘솔과 "Hello, robot!" 텍스트가 표시됩니다.

뇌.새로운_라인#

brain.new_line 콘솔의 다음 행의 첫 번째 열로 커서를 이동합니다. 다음에 출력될 값은 해당 행에 나타납니다.

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 콘솔, 콘솔과 첫 번째 줄에 "Row 1" 텍스트, 두 번째 줄에 "Row 2" 텍스트가 표시됩니다.

뇌.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

모니터링할 센서 값을 문자열로 입력합니다. 두 개 이상의 센서 값을 모니터링하려면 각 센서 값을 쉼표로 구분하십시오. 지원되는 센서 식별자는 다음과 같습니다.

  • 두뇌
    • brain.timer_time
  • 구동계
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
  • 거리 센서
    • distance.found_object
    • distance.get_distance
  • 로버
    • 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#

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 로버를 대기 모드로 전환합니다.

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

광물이나 적을 탐지하려면 대상은 1000mm 이내에 있어야 하며 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

광물이나 적을 탐지하려면 대상은 1000mm 이내에 있어야 하며 VR 로버의 시야 범위 내에 있어야 합니다. 기지는 언제든지 보고할 수 있습니다.

For obstacles and hazards, the method reports the visible object distance. If none is in view, it returns 1000 mm or 39.37 inches.

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

광물이나 적을 탐지하려면 대상은 1000mm 이내에 있어야 하며 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#

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 로버의 감지 반경은 800mm입니다.

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

# VR threads — Do not delete
vr_thread(main)

보다#

sees 로버가 시야 범위 내에서 선택된 물체를 인식하는지 여부를 나타냅니다.

Usage:
rover.sees(object)

매개변수

설명

object

관찰 대상:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

VR 로버는 1000mm 이내의 물체와 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 은 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)