Lição 3: Usando blocos [If then]
No Desafio do Labirinto de Disco, o Robô de RV está verificando a condição do Sensor do Olho Frontal para ver qual cor está sendo relatada. Cada uma das cores corresponde a um comportamento diferente que o Robô VR deve executar.

-
Inicie um novo projeto e nomeie-o Unit7Lesson3.

-
Arraste um bloco [If then] para o espaço de trabalho e anexe-o ao bloco [When started].

Para sua informação
O bloco [If then] é um bloco C que aceita blocos reportadores booleanos como entrada. Usando os padrões observados ao resolver o Labirinto de Discos na Lição 2, um projeto pode ser criado onde o Robô de RV toma uma decisão se a condição relata como VERDADEIRA ou FALSA.

O bloco [If then] será executado uma vez num projeto. Neste exemplo, o Sensor do Olho Frontal informará VERDADEIRO se um objeto verde for detectado e executará o comando dentro do bloco C - vire à direita por 90 graus. Se um objeto verde não for detectado, o projeto passará para o próximo comando na pilha.

Usando Blocos de Interruptor
A imagem abaixo mostra a instrução de bloco Switch [If then] para o projeto de exemplo desta lição.
O projeto abaixo inclui os mesmos comandos convertidos em um bloco Switch.
A primeira linha de código, if front_eye.detect(GREEN): é o loop condicional que verifica se o Sensor de Olho Frontal detecta a cor verde. Observe que deve haver dois pontos (:) no final desta linha.
A segunda linha de código, drivetrain.turn_for(DIREITA, 90, GRAUS) diz ao robô para virar à direita por 90 graus quando o Sensor de Olho Frontal detecta a cor verde. Esta linha é recuada em um padrão de 4 espaços porque este é o comportamento específico que será realizado se o Sensor de Olho Frontal detectar verde.

-
Arraste um <Color sensing> bloco para o espaço de trabalho na entrada hexagonal do bloco [If then].

-
Altere o parâmetro do <Color sensing> bloco para ‘verde’.

-
Quando o Sensor de Olho Frontal detecta um disco verde, o Robô VR precisará virar à direita 90 graus para começar a resolver o Labirinto de Disco. Arraste um bloco [Turn for] para o bloco [If then].

-
Siga estas mesmas etapas para adicionar outro bloco [If then] para todas as três cores no Labirinto de Discos (verde, azul e vermelho). Cada cor está associada a um comportamento diferente. Os blocos dentro do bloco [If then] precisarão corresponder a esse comportamento pretendido. Adicione os seguintes blocos ao projeto. Quando o Robô VR detecta a cor "azul", o Robô VR vira à esquerda 90 graus.

-
Quando o robô VR chegar ao final do labirinto, o robô VR detectará a cor ‘vermelho’.

-
Para parar o Robô VR, outro bloco [If then] precisa ser adicionado com instruções sobre o que fazer quando o Robô VR detectar ‘vermelho’. Adicione os seguintes blocos ao projeto.

-
O Robô VR também pode tomar uma decisão se não vir uma cor usando o valor "nenhum". No ponto de partida do Labirinto de Discos, o Robô VR não detecta nenhuma cor.

-
Como o Sensor de Olho Frontal não detecta uma cor no início do Labirinto de Discos, o Robô VR precisará avançar até detectar o disco verde. Outro bloco [Se então] pode ser adicionado para instruir o Robô VR sobre o que fazer quando nenhuma cor for detectada.

-
Adicione os seguintes blocos ao projeto. Quando o Robô VR não detecta nenhuma cor, o Robô VR avançará.

- O robô VR agora tem instruções para cada cor detectada pelo sensor ocular.
- Sensor de Olho Frontal detecta ‘verde?’
- Vire à direita 90 graus
- Sensor de Olho Frontal detecta ‘azul?’
- Vire à esquerda 90 graus
- Sensor de Olho Frontal detecta ‘vermelho?’
- Parar de conduzir
- O Sensor de Olhos Frontal detecta ‘nenhum?’
- Conduzir para a frente
- Sensor de Olho Frontal detecta ‘verde?’
- Abra o Disk Maze Playground e execute o projeto.
Selecione o botão Seguinte para continuar com o resto desta lição.