Python específico para robôs#

Introdução#

O VR Rover Robot inclui um sistema de transmissão, sensor de distância e ações exclusivas do Rover Rescue Playground.

Todos os métodos VR padrão do VEXcode estão disponíveis para utilização no Playground Rover Rescue. Abaixo está uma lista de todos os métodos específicos do Playground disponíveis:

Transmissão - Movimente e monitorize o VR Rover.

  • Ações

    • drive - Move o VR Rover para a frente ou para trás para sempre.

    • drive_for - Move o VR Rover para a frente ou para trás uma distância específica.

    • turn - Vira o VR Rover para a esquerda ou para a direita para sempre.

    • turn_for - Roda o VR Rover para a esquerda ou para a direita por um número específico de graus.

    • turn_to_heading - Roda o VR Rover para apontar para uma direcção específica de -359 a 359 graus.

    • drive_to - Conduz o VR Rover diretamente em direção ao objeto selecionado.

    • turn_to - Roda o VR Rover de modo a ficar de frente para o objeto selecionado.

    • go_to - Vira e conduz o VR Rover até ao objecto seleccionado.

    • stop - Interrompe o movimento do VR Rover.

  • Mutadores

    • set_heading – Altera o rumo actual do VR Rover para um novo rumo.

    • set_timeout - Define durante quanto tempo o VR Rover tentará completar um movimento.

    • set_drive_velocity – Indica ao VR Rover a velocidade de condução.

    • set_turn_velocity – Indica ao VR Rover a velocidade de rotação.

  • Obteve

    • heading - Devolve a direção atual do VR Rover de 0 a 359,99 graus.

    • is_done - Retorna se o Rover VR terminou de se mover.

    • is_moving - Retorna se o VR Rover se está a mover.

Consola – Imprima na consola e monitorize os valores.

  • Imprimir

    • brain.print — Apresenta texto, números ou valores de variáveis ​​na Consola.

    • brain.new_line — Move o cursor da Consola para o início da linha seguinte.

    • brain.set_print_color — Define a cor utilizada para o texto impresso na Consola.

    • brain.clear — Limpa todas as linhas da Consola.

  • Monitor

    • monitor_variable — Adiciona uma ou mais variáveis ​​predefinidas ao separador Monitor.

    • monitor_sensor — Adiciona um ou mais valores de sensor ao separador Monitor.

Deteção - Detete objetos próximos com o sensor de distância do rover.

  • Distância

    • found_object - Retorna se o Sensor de Distância detetou um objeto.

    • get_distance - Retorna a distância até ao objecto detectado mais próximo.

Ações - Interaja com as capacidades do veículo explorador, inimigos e sistemas de IA integrados.

  • Ações

    • pickup - Recolha minerais.

    • drop - Gotas de minerais.

    • use - Utiliza os minerais para restabelecer a energia.

    • absorb_radiation - Absorve radiação de um inimigo.

    • standby - Coloca o VR Rover em modo de espera até que um limite de bateria seja atingido.

  • Obteve

    • angle - Devolve a direcção de um objecto em graus.

    • get_distance - Devolve a distância a um objeto em milímetros ou polegadas.

    • location - Devolve a coordenada X ou Y de um objecto em milímetros ou polegadas.

    • battery - Retorna o nível da bateria do VR Rover.

    • minerals_stored - Devolve quantos minerais o VR Rover está a transportar.

    • storage_capacity - Retorna a capacidade de carga do VR Rover.

    • level - Retorna o nível actual do VR Rover.

    • exp - Retorna os pontos de experiência actuais do VR Rover.

    • enemy_level - Retorna o nível do inimigo detectado mais próximo.

    • enemy_radiation - Retorna a radiação do inimigo detectado mais próximo.

    • detects - Retorna se o VR Rover detecta minerais ou inimigos no seu raio de detecção.

    • sees - Retorna se o VR Rover vê um objecto no seu campo de visão.

    • under_attack - Retorna se o VR Rover está actualmente sob ataque.

  • Retornos de chamada

    • on_under_attack - Executa um callback quando o VR Rover é atacado.

    • on_level_up - Executa um callback quando o VR Rover sobe de nível.

Os exemplos nesta página utilizam a posição inicial padrão do Playground.

Transmissão#

O sistema de transmissão controla a forma como o VR Rover se move e vira. Pode mover-se para a frente ou para trás, virar à esquerda ou à direita, seguir direções e dirigir-se para minerais, inimigos ou para a base.

Ações#

conduzir#

drive moves the VR Rover forward or reverse forever. The VR Rover will continue to move until it is given another action, like turning or stopping.

Usage:
drivetrain.drive(direction)

Parâmetros

Descrição

direction

A direção em que o VR Rover se desloca: FORWARD ou REVERSE.

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

# VR threads — Do not delete
vr_thread(main)

conduzir_para#

O comando drive_for move o VR Rover para a frente ou para trás por uma distância específica. O projeto aguardará até que o VR Rover termine de se mover antes de executar a próxima linha de código.

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

Parâmetros

Descrição

direction

A direção em que o VR Rover se desloca: FORWARD ou REVERSE.

distance

A distância percorrida pelo VR Rover. Pode ser um número inteiro integer ou decimal (float).

units

A unidade de distância: INCHES ou MM (milímetros).

wait

Opcional. wait=True (padrão) faz com que o projeto aguarde até que o VR Rover termine de se mover antes de executar a próxima linha de código. wait=False faz com que a próxima linha de código seja executada imediatamente.

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

# VR threads — Do not delete
vr_thread(main)

virar#

O comando turn a direita indefinidamente. O VR Rover continuará a virar até receber outra ação, como conduzir ou parar.

Usage:
drivetrain.turn(direction)

Parâmetros

Descrição

direction

A direção para a qual o VR Rover vira: LEFT ou RIGHT.

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

# VR threads — Do not delete
vr_thread(main)

virar_para#

O comando turn_for roda o VR Rover para a esquerda ou para a direita num número específico de graus. A rotação é relativa à posição atual do VR Rover. O projeto aguardará até que o VR Rover termine de rodar antes de executar a próxima linha de código.

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

Parâmetros

Descrição

direction

A direção para a qual o VR Rover vira: LEFT ou RIGHT.

angle

O número de graus que o VR Rover roda. Pode ser um número inteiro integer ou decimal (float).

units

Unidade de rotação: DEGREES.

wait

Opcional. wait=True (padrão) faz com que o projeto aguarde até que o VR Rover termine de rodar antes de executar a próxima linha de código. wait=False faz com que a próxima linha de código seja executada imediatamente.

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

# VR threads — Do not delete
vr_thread(main)

virar_para_o_título#

A direção é a direção para a qual o VR Rover está virado, medida em graus. turn_to_heading vira o VR Rover para uma direção específica de -359 a 359 graus. O VR Rover seguirá o caminho mais curto para alcançar a direção desejada.

A direção inicial do VR Rover é de 0 graus.

O projeto aguardará até que o VR Rover termine de rodar antes de executar a próxima linha de código.

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

Parâmetros

Descrição

heading

A direção para a qual o VR Rover deve estar virado, em graus. Pode ser um número inteiro integer ou um número de ponto flutuante (float), de -359 a 359.

units

Unidade de cabeçalho: DEGREES.

wait

Opcional. wait=True (padrão) faz com que o projeto aguarde até que o VR Rover termine de rodar antes de executar a próxima linha de código. wait=False faz com que a próxima linha de código seja executada imediatamente.

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

# VR threads — Do not delete
vr_thread(main)

conduzir para#

drive_to direcciona o VR Rover directamente para o objecto seleccionado.

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

Parâmetros

Descrição

object

Para que objeto o VR Rover irá dirigir:

  • BASE
  • ENEMY
  • MINERALS

wait

Opcional. wait=True (padrão) faz com que o projeto aguarde até que o movimento esteja concluído antes de executar a linha de código seguinte. wait=False faz com que a próxima linha de código seja executada imediatamente.

Se não for detetado nenhum mineral ou inimigo no campo de visão do VR Rover quando o comando drive_to for executado, o VR Rover não se deslocará. A base poderá ser sempre alvejada.

Se o VR Rover detetar vários minerais ou vários inimigos, dirigir-se-á para a opção mais próxima.

def main():
    drivetrain.drive_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

virar_para#

turn_to roda o VR Rover de modo a ficar de frente para o objeto selecionado.

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

Parâmetros

Descrição

object

Para que objeto se vai virar o VR Rover:

  • BASE
  • ENEMY
  • MINERALS

wait

Opcional.

  • wait=True (padrão) — Aguarde o fim da ronda.
  • wait=False — Inicie a ronda e continue imediatamente.

Se não for detetado nenhum mineral ou inimigo no campo de visão do VR Rover quando o comando turn_to for acionado, o VR Rover não irá rodar. A base poderá sempre ser alvejada.

Se o VR Rover detetar vários minerais ou vários inimigos, irá virar-se para a opção mais próxima.

def main():
    drivetrain.turn_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

Vá para#

go_to roda e conduz o VR Rover até ao objecto seleccionado.

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

Parâmetros

Descrição

object

Para que objeto o VR Rover se vai virar e dirigir:

  • BASE
  • ENEMY
  • MINERALS

wait

Opcional. wait=True (padrão) faz com que o projeto aguarde até que o movimento esteja concluído antes de executar a linha de código seguinte. wait=False faz com que a próxima linha de código seja executada imediatamente.

Se não for detectado nenhum mineral ou inimigo no campo de visão do VR Rover quando o comando go_to for executado, o VR Rover não se deslocará. A base poderá ser sempre alvejada.

Se o VR Rover detetar vários minerais ou vários inimigos, deslocar-se-á para a opção mais próxima.

def main():
    drivetrain.go_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

parar#

stop interrompe o movimento do VR Rover.

Usage:
drivetrain.stop()

Parâmetros

Descrição

Este método não tem parâmetros.

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

# VR threads — Do not delete
vr_thread(main)

Mutantes#

definir_cabeçalho#

A direção é a direção para a qual o VR Rover está virado, medida em graus. O comando set_heading altera a direcção actual do VR Rover para um novo valor de direcção.

Por exemplo, se o VR Rover tiver virado para a direita, definir a direção para 0 graus fará com que esta posição virada para a direita se torne os novos 0 graus. De seguida, o VR Rover poderá rodar para outras posições com base nesta nova direção.

Usage:
drivetrain.set_heading(heading, units)

Parâmetros

Descrição

heading

O valor de direção, em graus, a definir para o VR Rover. Pode ser um número inteiro integer ou decimal (float).

units

Unidade de cabeçalho: DEGREES.

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

# VR threads — Do not delete
vr_thread(main)

definir_tempo limite#

O parâmetro set_timeout define durante quanto tempo o VR Rover tentará completar um movimento. Se o VR Rover não conseguir concluir dentro deste tempo, interromperá a tentativa e passará para a linha de código seguinte. Isto evita que o VR Rover fique preso num movimento.

Usage:
drivetrain.set_timeout(value, units)

Parâmetros

Descrição

value

O tempo que o VR Rover pode tentar para completar um movimento. Pode ser um número inteiro positivo integer ou decimal (float).

units

A unidade de tempo: SECONDS ou MSEC (milissegundos).

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

# VR threads — Do not delete
vr_thread(main)

definir_velocidade_de_acionamento#

O parâmetro set_drive_velocity define a velocidade de deslocação do VR Rover. Uma percentagem mais elevada faz com que o VR Rover conduza mais depressa, enquanto uma percentagem mais baixa o faz conduzir mais devagar.

Todos os projetos começam com o VR Rover a conduzir a 50% da velocidade por defeito.

Nota: Uma velocidade mais elevada faz com que o VR Rover se mova mais depressa, mas pode ser menos preciso. Uma velocidade mais baixa faz com que o VR Rover se mova mais devagar, mas pode ser mais preciso.

Usage:
drivetrain.set_drive_velocity(velocity, units)

Parâmetros

Descrição

velocity

A velocidade de condução, de 0% a 100%. Pode ser um número inteiro integer ou decimal (float).

units

A unidade de velocidade: PERCENT.

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

# VR threads — Do not delete
vr_thread(main)

definir_velocidade_de_viragem#

O parâmetro set_turn_velocity define a velocidade de rotação do VR Rover. Uma percentagem mais elevada faz com que o VR Rover gire mais rapidamente, enquanto uma percentagem mais baixa faz com que o VR Rover gire mais devagar.

Todos os projetos começam com o VR Rover a rodar a 50% da velocidade por defeito.

Nota: Uma velocidade mais elevada faz com que o VR Rover gire mais depressa, mas pode ser menos preciso. Uma velocidade mais baixa faz com que o VR Rover gire mais devagar, mas pode ser mais preciso.

Usage:
drivetrain.set_turn_velocity(velocity, units)

Parâmetros

Descrição

velocity

A velocidade de rotação, de 0% a 100%. Pode ser um número inteiro integer ou decimal (float).

units

A unidade de velocidade: PERCENT.

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

# VR threads — Do not delete
vr_thread(main)

Getters#

cabeçalho#

A direção indica para onde o VR Rover está a apontar, medida em graus. heading devolve a direção atual do VR Rover, de 0 a 359,99 graus.

A direção inicial do VR Rover é de 0 graus.

Usage:
drivetrain.heading(units)

Parâmetros

Descrição

units

Unidade de cabeçalho: DEGREES.

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

# VR threads — Do not delete
vr_thread(main)

está_concluído#

is_done devolve um valor booleano indicando se o Rover VR terminou de se mover. Isto pode ser utilizado para controlar o tempo de outras ações com base no movimento do VR Rover.

  • True — O VR Rover terminou de se mover.

  • False — O VR Rover ainda está em movimento.

Este método funciona em conjunto com os métodos Drivetrain que têm o parâmetro wait , como drive_for, turn_for, turn_to_heading, drive_to, turn_to e go_to.

Usage:
drivetrain.is_done()

Parâmetros

Descrição

Este método não tem parâmetros.

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)

está_em_movimento#

is_moving devolve um valor booleano indicando se o Rover VR está em movimento. Isto pode ser utilizado para controlar o tempo de outras ações com base no movimento do VR Rover.

  • True — O VR Rover está em movimento.

  • False — O VR Rover não se move.

Usage:
drivetrain.is_moving()

Parâmetros

Descrição

Este método não tem parâmetros.

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)

Consola#

O Console apresenta texto, números e valores de variáveis ​​enquanto um projeto está a ser executado. Os métodos da Consola também podem mover o cursor para uma nova linha, definir a cor do texto impresso após a alteração da cor, limpar a Consola e adicionar variáveis ​​ou valores de sensores ao separador Monitor.

Imprimir#

cérebro.imprimir#

brain.print apresenta texto, números ou valores de variáveis ​​na Consola utilizando a posição atual do cursor.

Utilize brain.new_line quando pretender que o próximo valor impresso comece numa nova linha.

Usage:
brain.print(value)

Parâmetros

Descrição

value

O texto, o número ou o valor da variável a apresentar na Consola.

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

# VR threads — Do not delete
vr_thread(main)

A consola VEXcode, mostrando a consola e o texto "Olá, robô!" apresentado.

cérebro.nova_linha#

brain.new_line move o cursor para a coluna 1 na linha seguinte da Consola. O próximo valor impresso aparecerá nessa linha.

Usage:
brain.new_line()

Parâmetros

Descrição

Este método não tem parâmetros.

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)

A consola VEXcode, mostrando a consola e o texto "Linha 1" apresentado na primeira linha e "Linha 2" na segunda linha.

cérebro.definir_cor_de_impressão#

brain.set_print_color define a cor utilizada para o texto impresso na Consola após este método ser utilizado. No início de um projeto, a cor do texto da Consola é definida como BLACK.

Usage:
brain.set_print_color(color)

Parâmetros

Descrição

color

Cor a utilizar para o texto impresso na consola:

  • 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)

A consola VEXcode, mostrando a consola e o texto a preto "Cor de texto padrão" apresentado na primeira linha e a vermelho "Cor de texto vermelha" na segunda linha.

cérebro. limpo#

brain.clear limpa todas as linhas da Consola e move o cursor de volta para a Linha 1.

Usage:
brain.clear()

Parâmetros

Descrição

Este método não tem parâmetros.

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#

variável_de_monitorização#

monitor_variable adiciona uma ou mais variáveis ​​predefinidas ao separador Monitor do VEXcode. Isto permite observar a alteração no valor de uma variável enquanto um projeto está a ser executado.

As variáveis ​​devem ser globais para monitor_variable . Forneça o nome de cada variável como uma string.

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

Parâmetros

Descrição

variable

O nome de uma variável global predefinida a monitorizar, fornecido como uma string. Para monitorizar mais do que uma variável, separe cada nome de variável com uma vírgula.

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)

sensor_monitor#

O comando monitor_sensor adiciona um ou mais valores de sensores ao separador Monitor do VEXcode. Isto permite observar as alterações nos valores dos sensores enquanto um projeto está a ser executado.

Forneça o valor de cada sensor como uma string.

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

Parâmetros

Descrição

sensor

O valor do sensor a monitorizar, fornecido como uma string. Para monitorizar mais do que um valor de sensor, separe cada valor com uma vírgula. Os identificadores de sensores suportados incluem:

  • Cérebro
    • brain.timer_time
  • Transmissão
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
  • Sensor de Distância
    • 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)

Sensação#

Distância#

objeto_encontrado#

found_object retorna se o Sensor de Distância detetou um objeto.

Usage:
distance.found_object()

Parâmetros

Descrição

Este método não tem parâmetros.

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

# VR threads — Do not delete
vr_thread(main)

obter_distância#

get_distance devolve a distância até ao objeto detetado mais próximo pelo Sensor de Distância.

Usage:
distance.get_distance(units)

Parâmetros

Descrição

units

Unidade de distância: INCHES ou MM

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

# VR threads — Do not delete
vr_thread(main)

Ações#

Ações#

levantar#

pickup recolhe minerais.

Usage:
rover.pickup(object)

Parâmetros

Descrição

object

Objectos que o VR Rover pode recolher:

  • MINERALS

def main():
    rover.pickup(MINERALS)

# VR threads — Do not delete
vr_thread(main)

gota#

drop gota transportava minerais.

Usage:
rover.drop(object)

Parâmetros

Descrição

object

Objectos que o VR Rover pode largar:

  • MINERALS

def main():
    rover.drop(MINERALS)

# VR threads — Do not delete
vr_thread(main)

uso#

use utiliza minerais para restaurar energia. Os minerais precisam de estar no solo para serem utilizados.

Usage:
rover.use(object)

Parâmetros

Descrição

object

Objectos que o VR Rover pode utilizar:

  • MINERALS

def main():
    rover.use(MINERALS)

# VR threads — Do not delete
vr_thread(main)

absorver_radiação#

absorb_radiation absorve radiação de um inimigo.

Usage:
rover.absorb_radiation(object)

Parâmetros

Descrição

object

Objecto a partir do qual o VR Rover pode absorver radiação:

  • ENEMY

def main():
    rover.absorb_radiation(ENEMY)

# VR threads — Do not delete
vr_thread(main)

espera#

standby coloca o VR Rover em modo de espera até que o limite de bateria especificado seja atingido.

Usage:
rover.standby(percent)

Parâmetros

Descrição

percent

O limite de bateria que faz com que o VR Rover saia do modo de espera, de 0 a 100.

Se o limite selecionado for igual ou superior ao nível atual da bateria, o VR Rover não entrará em modo de espera.

def main():
    rover.standby(50)

# VR threads — Do not delete
vr_thread(main)

Getters#

ângulo#

O valor angle devolvem a direção em graus do objeto selecionado.

Usage:
rover.angle(object)

Parâmetros

Descrição

object

Objecto cuja direcção deve ser reportada:

  • BASE
  • ENEMY
  • MINERALS

Para minerais e inimigos, o objeto deve estar a menos de 1000 mm e no campo de visão do Rover VR. A base pode ser sempre reportada.

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

# VR threads — Do not delete
vr_thread(main)

obter_distância#

get_distance devolve a distância do VR Rover ao objeto selecionado.

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

Parâmetros

Descrição

object

Objecto para o qual reportar a distância:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

units

Opcional. A unidade utilizada para indicar a distância: INCHES ou MM

Para minerais e inimigos, o objeto deve estar a menos de 1000 mm e no campo de visão do Rover VR. A base pode ser sempre reportada.

Para obstáculos e perigos, o método reporta a distância do objeto visível. Se nenhum estiver à vista, devolve 1000 mm ou 39.37 polegadas.

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

# VR threads — Do not delete
vr_thread(main)

localização#

A localização location devolve a coordenada X ou Y do objeto selecionado.

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

Parâmetros

Descrição

object

Objecto cuja localização deve ser reportada:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

axis

Qual a coordenada a devolver:

  • X
  • Y

units

A unidade utilizada para indicar a localização: INCHES ou MM

Para minerais e inimigos, o objeto deve estar a menos de 1000 mm e no campo de visão do Rover VR. A base pode ser sempre reportada.

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

# VR threads — Do not delete
vr_thread(main)

bateria#

battery devolve o nível atual da bateria do VR Rover.

Usage:
rover.battery()

Parâmetros

Descrição

Este método não tem parâmetros.

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

# VR threads — Do not delete
vr_thread(main)

minerais_armazenados#

minerals_stored devolve a quantidade actual de minerais que o VR Rover tem armazenada.

Usage:
rover.minerals_stored()

Parâmetros

Descrição

Este método não tem parâmetros.

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

# VR threads — Do not delete
vr_thread(main)

capacidade_de_armazenamento#

storage_capacity devolve a capacidade de carga do VR Rover.

Usage:
rover.storage_capacity()

Parâmetros

Descrição

Este método não tem parâmetros.

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

# VR threads — Do not delete
vr_thread(main)

nível#

O nível level do VR Rover.

Usage:
rover.level()

Parâmetros

Descrição

Este método não tem parâmetros.

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

# VR threads — Do not delete
vr_thread(main)

exp#

exp devolve o número de Pontos de Experiência que o VR Rover possui no nível actual.

Usage:
rover.exp()

Parâmetros

Descrição

Este método não tem parâmetros.

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

# VR threads — Do not delete
vr_thread(main)

nível_inimigo#

enemy_level devolve o nível do inimigo mais próximo detectado pelo VR Rover.

Usage:
rover.enemy_level()

Parâmetros

Descrição

Este método não tem parâmetros.

Quando não é detectado nenhum inimigo dentro do raio de detecção do rover, este método devolve 0.

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

# VR threads — Do not delete
vr_thread(main)

radiação inimiga#

enemy_radiation devolve a radiação do inimigo mais próximo detectado pelo VR Rover.

Usage:
rover.enemy_radiation()

Parâmetros

Descrição

Este método não tem parâmetros.

Quando não é detectado nenhum inimigo dentro do raio de detecção do rover, este método devolve 0.

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

# VR threads — Do not delete
vr_thread(main)

detecta#

detects indica se o VR Rover detetou estes minerais ou inimigos.

Usage:
rover.detects(object)

Parâmetros

Descrição

object

Objecto a detectar:

  • ENEMY
  • MINERALS

O raio de deteção do VR Rover é de 800 mm.

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

# VR threads — Do not delete
vr_thread(main)

vê#

sees indica se vê o objeto selecionado no seu campo de visão.

Usage:
rover.sees(object)

Parâmetros

Descrição

object

Objecto a observar:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

O VR Rover consegue ver objetos a uma distância de até 1000 mm e dentro do seu campo de visão de 40 graus.

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

# VR threads — Do not delete
vr_thread(main)

sob ataque#

under_attack retorna se o VR Rover estiver actualmente sob ataque de um inimigo.

Usage:
rover.under_attack()

Parâmetros

Descrição

Este método não tem parâmetros.

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

# VR threads — Do not delete
vr_thread(main)

Retornos de chamada#

sob ataque#

on_under_attack regista uma função de chamada de retorno que é executada quando o VR Rover sofre danos de um inimigo.

Usage:
rover.on_under_attack(callback)

Parâmetros

Descrição

callback

A função a executar quando o VR Rover está sob ataque.

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)

ao subir de nível#

on_level_up regista uma função de chamada de retorno que é executada quando o VR Rover se move de um nível para o seguinte.

Usage:
rover.on_level_up(callback)

Parâmetros

Descrição

callback

A função a ser executada quando o VR Rover subir de nível.

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)