Blocos específicos 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 blocos VR padrão do VEXcode estão disponíveis para utilização no Rover Rescue Playground.

Abaixo está uma lista de todos os blocos específicos para robôs disponíveis:

Transmissão - Movimente e rode o VR Rover.

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

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

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 gira. Pode mover-se para a frente ou para trás, virar à esquerda ou à direita, seguir direções e informar a sua direção.

Ações#

conduzir#

O bloco de acionamento move o robô para a frente ou para trás indefinidamente. O robô continuará a mover-se até receber outra ação, como virar-se ou parar.

conduzir [frente v]

Parâmetros

Descrição

direção

A direção em que o robô se move: para a frente ou para trás.

Exemplo

quando iniciar
[Drive forward, then stop.]
conduzir [frente v]
aguardar (2) segundos
parar de conduzir

conduzir para#

O bloco de pilha drive for move o robô para a frente ou para trás por uma distância específica. O projeto aguardará até que o robô termine de se mover antes de executar o próximo bloco na pilha.

conduzir [frente v] por (200) [mm v] ▶

Parâmetros

Descrição

direção

A direção em que o robô se move: para a frente ou para trás.

distância

A distância percorrida pelo robô. Pode ser um número inteiro ou decimal.

unidade

A unidade de distância: mm (milímetros) ou polegadas.

e não espere

Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente.

Exemplo

quando iniciar
[Drive forward for 500 mm.]
conduzir [frente v] por (500) [mm v] ▶

virar#

O bloco de pilha virar faz com que o robô vire para a esquerda ou para a direita indefinidamente. O robô continuará a virar até receber outra ação, como conduzir ou parar.

virar [direita v]

Parâmetros

Descrição

direção

A direção para a qual o robô vira: esquerda ou direita.

Exemplo

quando iniciar
[Turn right, then stop.]
virar [direita v]
aguardar (2) segundos
parar de conduzir

virar para#

O bloco de pilha rodar para roda o robô para a esquerda ou para a direita por um número específico de graus. A rotação é relativa à posição atual do robô. O projeto aguardará até que o robô termine de rodar antes de executar o próximo bloco na pilha.

virar [direita v] por (90) graus ▶

Parâmetros

Descrição

direção

A direção para a qual o robô vira: esquerda ou direita.

ângulo

O número de graus que o robô roda. Pode ser um número inteiro ou decimal.

e não espere

Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente.

Exemplo

quando iniciar
[Turn left, then turn right.]
virar [esquerda v] por (90) graus ▶
virar [direita v] por (180) graus ▶

virar para a direção#

A direção é a direção para a qual o robô está virado, medida em graus. O bloco de pilha virar para a direção roda o robô para uma direção específica entre -359 e 359 graus. O robô irá rodar na direção mais curta para alcançar a direção desejada.

A direção inicial é de 0 graus.

O projeto aguardará até que o robô termine de rodar antes de executar o próximo bloco na pilha.

virar para a direção (90) graus ▶

Parâmetros

Descrição

cabeçalho

A direção para a qual o robô deve estar virado varia entre -359 a 359 graus.

e não espere

Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente.

Exemplo

quando iniciar
[Turn to face east.]
virar para a direção (90) graus ▶

ir para o objeto#

O bloco de pilha ir para o objeto roda e conduz o VR Rover até ao objeto selecionado.

vá para [minerals v] ▶

Parâmetros

Descrição

objeto

Para que objeto se vai dirigir o VR Rover:

  • minerais
  • inimigo
  • base

e não espere

Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente.

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

Se não forem detetados minerais ou inimigos no campo de visão do rover durante a passagem pelo bloco, o robô não se moverá. A base poderá sempre ser alvejada.

Exemplo

quando iniciar
[Drive to the closest mineral.]
vá para [minerals v] ▶

Pare de conduzir#

O bloco de pilha parar de conduzir interrompe o movimento do robô.

parar de conduzir

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Drive forward, then stop.]
conduzir [frente v]
aguardar (4) segundos
parar de conduzir

Configurações#

definir velocidade de acionamento#

O bloco de pilha definir velocidade de acionamento indica ao robô a velocidade de deslocação. Uma percentagem mais elevada faz com que o robô se desloque mais rapidamente e uma percentagem mais baixa faz com que se desloque mais lentamente.

Todos os projetos começam com o robô a deslocar-se a 50% da velocidade por defeito.

Nota: Uma velocidade mais elevada faz com que o robô se mova mais rapidamente, mas pode ser menos preciso. Uma velocidade mais baixa faz com que o robô se mova mais devagar, mas pode ser mais preciso.

definir velocidade de condução para (50) [% v]

Parâmetros

Descrição

velocidade

A velocidade de condução varia entre 0% a 100%.

unidade

Unidade de velocidade: %

Exemplo

quando iniciar
[Move faster.]
definir velocidade de condução para (100) [% v]
conduzir [frente v] por (100) [mm v] ▶

definir velocidade de rotação#

O bloco de pilha definir velocidade de rotação indica ao robô a velocidade a que deve rodar. Uma percentagem mais elevada faz com que o robô gire mais rápido e uma percentagem mais baixa faz com que o robô gire mais devagar.

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

Nota: Uma velocidade mais elevada faz com que o robô gire mais rápido, mas pode ser menos preciso. Uma velocidade mais baixa faz com que o robô gire mais devagar, mas pode ser mais preciso.

definir velocidade de giro para (50) [% v]

Parâmetros

Descrição

velocidade

A velocidade de rotação varia entre 0% a 100%.

unidade

Unidade de velocidade: %

Exemplo

quando iniciar
[Turn faster.]
definir velocidade de giro para (100) [% v]
virar [direita v] por (90) graus ▶

definir rumo de condução#

A direção é a direção para a qual o robô está virado, medida em graus. O bloco de pilha definir direção de acionamento altera a direção atual do robô para um novo valor de direção.

Por exemplo, se o robô se virou para a direita, definir a direção para 0 graus faz com que essa posição virada para a direita se torne os novos 0 graus. De seguida, o robô pode rodar para outras posições com base nessa nova direção.

definir direção de condução para (0) graus

Parâmetros

Descrição

cabeçalho

O valor da direção, em graus, a definir para o robô.

Exemplo

quando iniciar
[Set the heading, then turn to 0 degrees.]
definir direção de condução para (90) graus
virar para a direção (0) graus ▶

definir tempo limite da unidade#

O bloco de pilha set drive timeout define durante quantos segundos o robô tentará completar um movimento. Se o robô não conseguir completar dentro deste tempo, interromperá a tentativa e passará para o bloco seguinte da pilha. Isto impede que o robô fique preso num movimento.

definir tempo limite de condução para (1) segundos

Parâmetros

Descrição

hora

O número de segundos que o robô pode tentar para completar um movimento. Pode ser um número inteiro ou decimal.

Exemplo

quando iniciar
[Drive for at most 1 second.]
definir tempo limite de condução para (1) segundos
conduzir [frente v] por (25) [polegadas v] ▶

Valores#

A viagem terminou.#

O bloco booleano conclusão da condução indica se o robô terminou de se mover. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.

  • Verdadeiro - O robô terminou de se mover.

  • Falso - O robô ainda se está a mover.

Este bloco funciona em conjunto com blocos de transmissão que possuem o parâmetro e não espere.

<condução concluída?>

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Start turning when the drive is complete.]
conduzir [frente v] por (200) [mm v] ◀ e não aguardar
aguardar até <condução concluída?>
virar [direita v] por (360) graus ▶

O veículo está em movimento.#

O bloco booleano drive is moving informa se o robô se está a mover. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.

  • Verdadeiro - O robô está em movimento.

  • Falso - O robô não se está a mover.

Este bloco funciona em conjunto com blocos de transmissão que possuem o parâmetro e não espere.

<condução em movimento?>

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Print while the rover is moving.]
conduzir [frente v] por (200) [mm v] ◀ e não aguardar
enquanto <condução em movimento?>
imprimir [Still Moving...] ▶
aguardar (0.1) segundos
limpar todas as linhas
fim
imprimir [Done!] ▶

Conduzir em direção a#

A direção para a qual o robô está virado, medida em graus. O bloco de relatório direção de direção informa esta direção de 0 a 359,99 graus.

A direção inicial do robô é de 0 graus.

(direção de condução em graus)

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Display the heading after turning.]
virar [direita v] por (90) graus ▶
imprimir (direção de condução em graus) ▶
mover cursor para a próxima linha

Ações#

Ações#

ação dos minerais#

minerais [levantar v]

Parâmetros

Descrição

ação

O que fazer com os minerais:

  • recolher - Coloca os minerais no armazenamento do VR Rover.
  • soltar - Solta os minerais carregados.
  • utilizar - Consome minerais no solo para restaurar energia.

Ao recolher minerais, estes são armazenados no VR Rover até serem descartados ou utilizados.

A utilização de minerais repõe parte da energia do VR Rover. Os minerais só podem ser utilizados se estiverem no solo.

O VR Rover ganha Pontos de Experiência (XP) utilizando minerais ou depositando-os na base.

Exemplo

quando iniciar
[Drive to the closest mineral and pick it up.]
vá para [minerals v] ▶
minerais [levantar v]

absorver a radiação inimiga#

O bloco absorver radiação inimiga absorve a radiação de um inimigo no Playground Resgate do Rover.

absorver radiação

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Drive to the closest enemy and absorb radiation.]
vá para [enemy v] ▶
absorver radiação

espera#

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

espera até [50] % da bateria

Parâmetros

Descrição

por cento

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

Em modo de espera, o VR Rover consome a bateria mais lentamente, mas o contador de Número de Dias de Sobrevivência aumenta a uma taxa mais elevada.

Quando a bateria atinge o limite selecionado, o VR Rover sai do modo de espera e regressa à utilização normal da bateria e à progressão diária.

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

Exemplo

quando iniciar
[Wait in standby until battery reaches 35%.]
espera até [35] % da bateria
vá para [minerals v] ▶

Valores#

rover vê#

O bloco rover vê devolve um valor booleano indicando se o VR Rover vê o objeto selecionado utilizando a sua tecnologia de IA integrada.

  • Verdadeiro - O objeto selecionado encontra-se a menos de 1000 milímetros do VR Rover e dentro do seu campo de visão.

  • Falso - O objeto selecionado encontra-se a mais de 1000 milímetros de distância e/ou fora do campo de visão.

<vê [minerals v]?>

Parâmetros

Descrição

objeto

Que objeto verificar:

  • minerais
  • inimigo
  • base
  • obstáculos
  • perigos

O campo de visão do VR Rover é de 40 graus, mostrado no minimapa como o cone cinzento translúcido que se estende a partir da frente do rover.

Exemplo

quando iniciar
para sempre
se <vê [minerals v]?> então
vá para [minerals v] ▶
fim
fim

rover detecta#

O bloco rover deteta devolve um valor booleano indicando se o VR Rover deteta minerais ou inimigos utilizando a sua tecnologia de IA integrada.

  • Verdadeiro - O objeto selecionado encontra-se dentro do raio de deteção do rover.

  • Falso - O objeto selecionado não se encontra dentro do raio de deteção do rover.

<detecta [minerals v]?>

Parâmetros

Descrição

objeto

Que objeto detetar:

  • minerais
  • inimigo

O raio de deteção do VR Rover é de 800 milímetros, indicado no minimapa pelo círculo amarelo em redor do rover.

Exemplo

quando iniciar
para sempre
se <detecta [minerals v]?> então
vá para [minerals v] ▶
fim
fim

minerais armazenados#

O bloco minerais em armazenamento devolve a quantidade atual de minerais que o VR Rover possui no seu armazenamento.

(minerais armazenados)

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
imprimir (minerais armazenados) ▶
mover cursor para a próxima linha

capacidade de armazenamento#

O bloco capacidade de armazenamento devolve a capacidade de carga do armazenamento do VR Rover.

(capacidade de armazenamento)

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
imprimir (capacidade de armazenamento) ▶
mover cursor para a próxima linha

direção do rover#

O bloco direção do rover devolve a direção do VR Rover até ao objeto selecionado em graus.

([minerals v] direção em graus)

Parâmetros

Descrição

objeto

Qual a direção do objeto a reportar:

  • minerais
  • inimigo
  • base

Para minerais e inimigos, este bloco apenas reporta valores quando o objeto selecionado se encontra a menos de 1000 milímetros e dentro do campo de visão de 40 graus do rover.

Se a opção base for selecionada, a direção é apresentada mesmo quando a base não se encontra no campo de visão. Para a base, este bloco apresenta um valor de -180 a 180 graus.

Exemplo

quando iniciar
imprimir ([minerals v] direção em graus) ▶
mover cursor para a próxima linha

distância do rover#

O bloco distância do rover devolve a distância do VR Rover até ao objeto selecionado.

(distância de [minerals v] em [mm v] :: custom-actions)

Parâmetros

Descrição

objeto

A distância de que objeto deve ser reportada:

  • minerais
  • inimigo
  • obstáculos
  • perigos
  • base

unidade

A unidade utilizada para indicar a distância foi: mm ou polegadas.

Para minerais e inimigos, este bloco apenas reporta valores quando o objeto selecionado se encontra a menos de 1000 milímetros e dentro do campo de visão de 40 graus do rover.

Se for selecionada a opção base, a distância será informada mesmo quando a base não se encontra no campo de visão.

Exemplo

quando iniciar
imprimir (distância de [minerals v] em [mm v] :: custom-actions) ▶
mover cursor para a próxima linha

localização do rover#

O bloco localização do rover devolve a coordenada X ou Y do objeto selecionado utilizando a tecnologia de IA integrada no rover.

([minerals v] localização [X v] em [mm v])

Parâmetros

Descrição

objeto

Qual a localização do objeto que deve ser reportada:

  • minerais
  • inimigo
  • obstáculos
  • perigos
  • base

eixo

Qual a coordenada a devolver:

  • X
  • Y

unidade

A unidade utilizada para indicar a coordenada foi: mm ou polegadas.

Para minerais e inimigos, este bloco apenas reporta valores quando o objeto selecionado se encontra a menos de 1000 milímetros e dentro do campo de visão de 40 graus do rover.

Se a opção base for selecionada, a localização será informada mesmo quando a base não se encontra no campo de visão.

Exemplo

quando iniciar
imprimir ([base v] localização [X v] em [mm v]) ▶
mover cursor para a próxima linha
imprimir ([base v] localização [Y v] em [mm v]) ▶
mover cursor para a próxima linha

sob ataque#

O bloco sob ataque devolve um valor booleano indicando se o VR Rover está atualmente sob ataque de um inimigo.

  • Verdade - O VR Rover está sob ataque.

  • Falso - O VR Rover não está sob ataque.

<sob ataque?>

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
para sempre
se <sob ataque?> então
conduzir [inverso v] por [500] [mm v] ▶
fim
fim

nível do inimigo#

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

(nível inimigo)

Parâmetros

Descrição

Este bloco não possui parâmetros.

Quando não é detectado nenhum inimigo no raio de detecção do VR Rover, este bloco devolve 0.

Exemplo

quando iniciar
para sempre
se <(nível inimigo) [math_equal v] [1]> então
vá para [enemy v] ▶
senão
conduzir [inverso v] por [500] [mm v] ▶
fim
fim

radiação inimiga#

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

(radiação inimiga)

Parâmetros

Descrição

Este bloco não possui parâmetros.

Quando não é detectado nenhum inimigo no raio de detecção do VR Rover, este bloco devolve 0.

Exemplo

quando iniciar
imprimir (radiação inimiga) ▶
mover cursor para a próxima linha

nível da bateria#

O bloco nível da bateria devolve o nível atual da bateria do VR Rover em percentagem.

(nível da bateria em % :: custom-actions)

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
imprimir (nível da bateria em % :: custom-actions) ▶
mover cursor para a próxima linha

nível#

O bloco nível devolve o nível atual do VR Rover.

(nível)

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
imprimir (nível) ▶
mover cursor para a próxima linha

XP#

O bloco XP devolve o número atual de Pontos de Experiência que o VR Rover possui.

(XP)

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
imprimir (XP) ▶
mover cursor para a próxima linha

quando sob ataque#

O bloco quando sob ataque executa a sua pilha associada cada vez que o VR Rover é atacado por um inimigo.

quando sob ataque

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando sob ataque
absorver radiação

ao subir de nível#

O bloco ao subir de nível executa a sua pilha associada cada vez que o VR Rover se desloca de um nível para o seguinte.

quando subir de nível

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando subir de nível
imprimir [The VR Rover has leveled up!] ▶
mover cursor para a próxima linha

Sensação#

Distância#

Distância encontrada um objeto#

O bloco Distância a que um objeto foi detetado devolve um valor booleano indicando se o sensor de distância detetou um objeto com uma precisão de 2000 mm.

  • Verdadeiro - O sensor de distância detetou um objeto.

  • Falso - O sensor de distância não detetou qualquer objeto.

<[distance v] encontrou um objeto?>

Parâmetros

Descrição

sensor de distância

Que sensor de distância usar? Neste parque infantil, o sensor disponível tem um alcance de distance.

Exemplo

quando iniciar
[Turn until the Distance Sensor detects an object.]
virar [direita v]
aguardar até <[distance v] encontrou um objeto?>
parar de conduzir

distância do objeto#

O bloco distância do objeto devolve a distância do objeto mais próximo ao Sensor de Distância.

([distance v] in [mm v])

Parâmetros

Descrição

sensor de distância

Que sensor de distância usar? Neste parque infantil, o sensor disponível tem um alcance de distance.

unidade

A unidade de distância: mm ou polegadas

Exemplo

quando iniciar
[Wait until the Distance Sensor detects an object, then print the distance.]
virar [direita v]
aguardar até <[distance v] encontrou um objeto?>
parar de conduzir
imprimir ([distance v] in [mm v]) ▶