Lição 3: Usando Declarações If
Navegando no labirinto do disco utilizando instruções If
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 se alinha a um comportamento diferente que o Robô VR deve executar.
Para sua informação
A instrução if apenas aceita condições booleanas. 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 Verdadeiro ou Falso.
se condição:
aprovadoA instrução if será executada uma vez num projeto. Neste exemplo, o Sensor de Olho Frontal informará Verdadeiro se um objeto verde for detectado e executará o comando dentro da instrução if - vire à direita por 90 graus. Se um objeto verde não for detectado, o projeto passará para o próximo comando.
def main():
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.stop()- Inicie um novo projeto e selecione o Disk Maze Playground quando solicitado.

-
Nomeie-o Unit7Lesson3.

- Adicione comentários para descrever a intenção dos comportamentos do Robô VR durante cada seção seguinte do projeto.
def main():
# Se o olho frontal detectar verde, vire à direita
# Se o olho frontal detectar azul, vire à esquerda- Arraste ou digite a instrução if abaixo do primeiro comentário.
def main():
# Se o olho frontal detectar verde, vire à direita
se a condição:
passar
# Se o olho frontal detectar azul, vire à esquerda- Defina a condição da instrução if para o comando front_eye.detect e defina o parâmetro para 'GREEN.'
def main():
# Se o olho frontal detectar verde, vire à direita
se front_eye.detect(VERDE):
passe
# Se o olho frontal detectar azul, vire à esquerda- Arraste ou digite um comando turn_for dentro da instrução if , para substituir o 'pass'. Defina os parâmetros para virar à direita 90 graus. Agora, se o Sensor do Olho Frontal detectar 'VERDE', o Robô VR girará 90 graus para a direita.
def main():
# Se o olho frontal detectar verde, vire à direita
se front_eye.detect(VERDE):
drivetrain.turn_for(DIREITA, 90, GRAUS)
# Se o olho frontal detectar azul, vire à esquerda- Seguiremos os mesmos passos para adicionar instruções if adicionais para as três cores no Disk Maze (verde, azul e vermelho). Cada cor está associada a um comportamento diferente. Os comandos dentro das instruções if terão de corresponder ao comportamento pretendido. Adicione os seguintes comandos ao projeto abaixo do segundo comentário, para que, se o Sensor de Olho Frontal detectar a cor 'AZUL', o Robô VR vire à esquerda 90 graus.
# Se o olho frontal detectar azul, vire à esquerda
sefront_eye.detect (AZUL)
: drivetrain.turn_for (ESQUERDA, 90, GRAUS)-
Quando o Robô VR chegar ao final do labirinto, o Sensor do Olho Frontal detectará a cor ‘VERMELHO’.

- Para parar o robô VR, é necessário adicionar outra instrução if com instruções sobre o que fazer se o sensor ocular frontal detetar 'VERMELHO'. Adicione o seguinte comentário e comandos ao projeto para que o Robô VR pare de dirigir se detectar 'VERMELHO'.
# Se o olho frontal detectar vermelho, pare
se front_eye.detect(VERMELHO):
drivetrain.stop()Se nenhuma das cores for detectada
O Robô de RV também pode tomar uma decisão se não vir uma cor usando o valor "nenhum". Por exemplo, no ponto de partida do Labirinto de Discos, o Sensor do Olho Frontal 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. Pode ser adicionada outra instrução if para instruir o robô VR sobre o que fazer quando não é detetada qualquer cor.
- Adicione o seguinte comentário e comandos ao projeto, para que, se o Sensor de Olho Frontal não detectar nenhuma cor, o Robô VR avance.
# Se o olho frontal não detectar nenhum, então dirija para frente
se front_eye.detect (NONE)
: drivetrain.drive (FORWARD)- O Robô VR agora tem instruções para cada cor detectada pelo Sensor do Olho Frontal.
- Se o Sensor de Olho Frontal detectar 'VERDE' – Vire à direita 90 graus
- Se o sensor ocular frontal detectar ‘AZUL' – Vire à esquerda 90 graus
- Se o sensor ocular frontal detetar "VERMELHO" – Pare de conduzir
- Se o Sensor de Olho Frontal detectar ‘NENHUM’ – Dirija para frente
- Abra a janela do playground se ainda não estiver aberta. Certifique-se de que o Disk Maze Playground abre e execute o projeto. Todo o projeto deve ter esta aparência:
def main():
# Se o olho frontal detectar verde, vire à direita
se front_eye.detect (VERDE):
drivetrain.turn_for (DIREITA, 90, GRAUS)
# Se o olho frontal detectar azul, vire à esquerda
se front_eye.detect (AZUL):
drivetrain.turn_for (ESQUERDA, 90, GRAUS)
# Se o olho frontal detectar vermelho, pare
se front_eye.detect (VERMELHO): drivetrain.stop (
)
# Se o olho frontal não detectar nenhum, dirija para frente
se front_eye.detect (NENHUM): drivetrain.drive
(PARA FRENTE)- O robô de RV se comporta como você pretendia? Por que sim ou por que não? Na próxima página da Lição, aprenderemos mais sobre este projeto.
Selecione o botão Seguinte para continuar com o resto desta lição.