Skip to main content

Lição 4: Mova um disco vermelho e verde

  • Em seguida, o robô VR precisará avançar para a próxima meta colorida. Observe que o Robô VR terá que avançar quatro quadrados de grade, ou 800 milímetros (mm), para chegar ao centro da próxima meta colorida.

    Vista de cima para baixo do Disk Mover Playground, com o VR Robot posicionado na borda da baliza azul depois de deixar cair o primeiro disco azul, voltado para a baliza vermelha à direita. Uma seta pontilhada aponta da frente do Robô VR para o gol vermelho, indicando o próximo movimento pretendido.
  • Adicione um bloco [Drive for] ao código e defina o parâmetro para 800 milímetros (mm).

    O mesmo projeto VEXcode VR da página anterior, com um comentário e Drive para bloco adicionado ao final da pilha. Os dois blocos adicionais lêem Drive para a próxima meta e, em seguida, dirigem para a frente por 800 mm.
  • O robô VR agora precisará girar para ficar de frente para os discos coloridos.

    Vista de cima para baixo do Disk Mover Playground, com o robô VR posicionado na área de gol vermelha. Uma seta curva aponta da frente do robô VR para os discos vermelhos, indicando a volta necessária para enfrentar os discos vermelhos.
  • Adicione um segundo bloco [Turn to heading] ao código e defina o parâmetro para zero graus. Isso fará com que o robô VR fique voltado para os discos coloridos.

    O mesmo projeto VEXcode VR, com um bloco Comment e um bloco Turn to heading adicionados ao final da pilha. Esses dois blocos lêem Turn to disks e, em seguida, Turn to heading 0 degrees.
  • Abra o Disk Mover Playground e execute o projeto.
  • O robô VR irá pegar e mover o primeiro disco azul para a baliza azul e, em seguida, passar por cima da baliza vermelha. O robô VR também ficará voltado para os discos vermelhos.

    Uma vista de cima para baixo do Disk Mover Playground com o VR posicionado na borda frontal da baliza vermelha, de frente para os discos vermelhos.
  • Agora que o Robô VR está voltado para os discos vermelhos, o Robô VR precisará repetir os mesmos comportamentos que foram usados para coletar o disco azul, a fim de pegar e mover o disco vermelho. Os comportamentos de avançar para pegar o disco, virar e voltar para o mesmo objetivo colorido de soltar o disco.

    Uma vista de cima para baixo do Disk Mover Playground com o VR posicionado na borda frontal da baliza vermelha, de frente para os discos vermelhos. As setas pontilhadas indicam os movimentos necessários para dirigir para pegar o primeiro disco vermelho, entregá-lo à meta vermelha e, em seguida, girar e dirigir em direção à meta verde.
  • Uma vez que o primeiro disco vermelho é movido, o Robô VR precisará então dirigir para a meta verde e executar as mesmas ações que foram usadas para mover o disco azul e vermelho, para mover o primeiro disco verde.

    Uma vista de cima para baixo do Disk Mover Playground na configuração inicial, com o robô no local de início da meta azul. As setas pontilhadas mostram os comportamentos repetidos pretendidos para que o robô pegue e entregue o primeiro de cada disco aos respectivos objetivos.
  • Para repetir comportamentos várias vezes, um bloco [Repetir] pode ser usado.

    Um bloco de repetição VEXcode VR da caixa de ferramentas, com o parâmetro definido como o padrão de 10.
  • Adicione um bloco [Repeat] ao código e defina o parâmetro para ‘3’.

    Uma visão geral da adição de um bloco Repetir ao projeto VEXcode VR existente, de modo que todos os blocos necessários para pegar e mover o primeiro disco azul para a meta azul, girar para dirigir para a próxima meta e, em seguida, girar para enfrentar o disco são envolvidos dentro do C do bloco repetir. O parâmetro de bloco de repetição é definido como 3.
  • Abra o Disk Mover Playground e execute o projeto.
  • Quando este projeto é executado, o Robô VR pega e solta um disco de cada cor no seu objetivo colorido correspondente.

    Uma vista de cima para baixo do Disk Mover Playground mostrando o estado final dos Discos e do robô após a execução do projeto. O primeiro de cada disco de cores está na meta de cores correspondente, e o Robô VR está na parede do Playground na borda da meta verde.
  • Observe que o robô VR continuou a bater na parede. Este comportamento é esperado, uma vez que o projeto instruiu o Robô VR a virar à direita e dirigir em direção ao próximo objetivo, três vezes. A primeira vez é de azul para vermelho. A segunda é do vermelho para o verde, e a terceira é do verde para a parede, já que não há outra meta colorida. Interrompa o projeto assim que o robô de RV bater na parede. O projeto poderia ser melhorado para que o Robô VR pare depois de pegar e mover o disco verde, mas isso aumentaria a complexidade geral do projeto.

    A janela do Playground mostra o Robô VR dentro da área de gol verde no final do projeto, com o botão Parar destacado por uma caixa vermelha indicando a interrupção do projeto antes que o robô corra contra a parede.

Para sua informação

Colocar um loop dentro de outro loop é chamado de aninhamento. Quando você "aninha" os loops, o loop externo controla o número de vezes que o loop interno é executado. Existem muitos tipos diferentes de loops que podem ser aninhados. Por exemplo, no código anterior acima, os blocos [Repeat until] estão aninhados dentro de um bloco [Repeat].

O mesmo projeto VEXcode VR de antes, mostrando como os blocos Repetir até C estão aninhados dentro do bloco Repetir, permitindo que o robô mova três discos com sucesso.

Um bloco [Repetir] também pode ser aninhado dentro de outro bloco [Repetir]. No exemplo a seguir, como o bloco externo [Repetir] está definido como ‘3’, o Robô de RV desenhará três quadrados no Playground.

À esquerda, um projeto mostra um bloco Repetir definido como 3, com o bloco Repetir necessário para codificar o Robô VR para desenhar um quadrado aninhado dentro dele, ilustrando o conceito de loops aninhados. À direita, a janela Playground mostra os três quadrados desenhados pelo robô do projeto.

Os ciclos aninhados são úteis em projetos em que um robô de RV repete os mesmos comportamentos mais de uma vez. Os loops de aninhamento organizam e condensam um projeto. Isso pode ser útil para entender melhor o contexto e o propósito do código, além de facilitar a localização de erros.

Selecione o botão Seguinte para continuar com o resto desta lição.