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
drive - Move o VR Rover para a frente ou para trás indefinidamente.
dirigir para - Move o VR Rover para a frente ou para trás por uma distância específica.
virar - Vira o VR Rover para a esquerda ou para a direita para sempre.
virar para - Roda o VR Rover para a esquerda ou para a direita por um número específico de graus.
virar para a direção - Vira o VR Rover para ficar virado para uma direção específica.
ir para o objeto - Vira e conduz o VR Rover até ao objeto selecionado.
parar de conduzir - Interrompe o movimento do VR Rover.
Configurações
definir velocidade de condução - Indica ao VR Rover a velocidade de condução.
definir velocidade de viragem - Indica ao VR Rover a velocidade de viragem.
definir direção de condução - Altera a direção atual do VR Rover para uma nova direção.
set drive timeout – Define quantos segundos o VR Rover tentará completar um movimento.
Valores
condução concluída - Reporta se o Rover VR terminou de se mover.
drive está em movimento - Reporta se o VR Rover está em movimento.
direção de condução - Reporta a direção atual do VR Rover de 0 a 359,99 graus.
Ações - Interaja com as capacidades do veículo explorador, inimigos e sistemas de IA integrados.
Ações
ação de minerais - Apanha, liberta ou utiliza minerais.
absorver radiação inimiga - Absorve radiação de um inimigo.
standby - Coloca o VR Rover em modo de espera até que um limite de bateria seja atingido.
Valores
rover vê - Retorna se o VR Rover vê um objeto no seu campo de visão.
rover detecta - Retorna se o VR Rover detecta minerais ou inimigos no seu raio de detecção.
minerais em armazenamento - Devolve quantos minerais o VR Rover está a transportar.
capacidade de armazenamento - Retorna a capacidade de carga atual do VR Rover.
direção do rover - Devolve a direção de um objeto em graus.
distância rover - Devolve a distância até um objeto em milímetros ou polegadas.
localização do rover - Devolve a coordenada X ou Y de um objeto em milímetros ou polegadas.
sob ataque - Retorna se o VR Rover está actualmente sob ataque.
nível do inimigo - Retorna o nível do inimigo detectado mais próximo.
radiação inimiga - Retorna a radiação do inimigo detectado mais próximo.
nível da bateria - Retorna o nível atual da bateria do VR Rover em %.
nível - Retorna o nível atual do VR Rover.
XP - Retorna os pontos de experiência atuais do VR Rover.
quando sob ataque - Executa blocos anexados quando o VR Rover é atacado.
ao subir de nível - Executa blocos anexados quando o VR Rover sobe de nível.
Deteção - Detete objetos próximos com o sensor de distância do rover.
Distância encontrou um objeto - Retorna se o Sensor de Distância detetou um objeto.
distância do objeto - Retorna a distância até ao objeto detetado mais próximo.
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
eixo |
Qual a coordenada a devolver:
|
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 |
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 |
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]) ▶