Lição 3: Entrada de Múltiplos Sensores
Na lição anterior, o sensor de distância foi usado para determinar se o robô VR detectou um objeto ou não e, em caso afirmativo, avançou em direção ao objeto. No entanto, nenhum valor de sensor foi usado para determinar se o Robô VR estava perto da borda do Playground para pará-lo. Parar o Robô de RV quando estivesse perto da borda do Playground impediria que ele saísse do lado.

Como está, o projeto repete os comportamentos de avançar e virar, para sempre. No entanto, não há condição de verificar a borda vermelha ao redor do Playground. Assim, o Robô VR pode cair do Playground ao dirigir para frente.

Outro sensor é necessário para que o Robô VR possa determinar se está perto da borda do Playground ou não. Os comportamentos de avançar e virar só precisam ser repetidos até que a borda vermelha seja detectada. Assim, o bloco [Forever] pode ser substituído pelo bloco [Repeat until], a fim de repetir os comportamentos de avançar e girar até que a condição de detectar a borda vermelha seja atendida. O Sensor de Down Eye pode ser usado para determinar se o Robô VR está perto da borda do Playground, detectando a borda vermelha ao redor do Playground.

- Carregue o projeto Unit9Lesson2 da lição anterior.

- Renomeie o projeto Unit9Lesson3.

- É necessário um bloco para verificar continuamente o Sensor de Olho para Baixo. O Robô VR precisará repetir esses comportamentos até que o Sensor Down Eye detecte a cor vermelha. Primeiro, remova o bloco [Forever].

- Adicione um bloco [Repeat until].

- Adicione um <Color sensing> bloco dentro do bloco [Repetir até] e defina os parâmetros para ‘DownEye’ detecta ‘vermelho’.

Um bloco [Repeat until] é usado em vez de um bloco [Wait until] neste projeto. Isso ocorre porque um bloco [Aguarde até] é um bloco de espera que pausará o fluxo do projeto até que a condição seja atendida. Se um bloco [Wait until] for usado, o bloco [If then else] não será executado até que a condição do bloco [Wait until] seja atendida e o bloco [If then else] só será executado uma vez.

Ao usar um bloco [Repeat until], a condição [If then else] é constantemente verificada e executada.

- Adicione um comentário para anotar a finalidade de usar o bloco [Repetir até].

- Abra o Dynamic Castle Crasher Playground e execute o projeto.
-
Quando este projeto é executado, o Robô VR irá conduzir em direção a um objeto detectado e virar à direita caso contrário. No entanto, mesmo que o Down Eye Sensor esteja procurando a borda vermelha, o Robô VR não recebe instruções sobre o que fazer quando detecta vermelho, então ele continua dirigindo e eventualmente cai do Playground.

Uma vez que a condição do bloco [Repetir até] seja atendida, o fluxo do projeto será executado a partir do bloco [Repetir até].
Selecione o botão Seguinte para continuar com o resto desta lição.