Lição 4: Usando loops enquanto infinitos
Resolver o problema do labirinto de discos
Construção do projecto
- Carregue o projeto Unit7Lesson3 da lição anterior ou recrie o projeto mostrado aqui para começar.
- Renomeie o projeto Unit7Lesson4.
- Arraste ou digite um loop while infinito para a parte superior do projeto e defina a condição como True.
- Mova o comando wait para abrir espaço para os comandos que entrarão no loop while infinito.
- Dentro do loop while infinito, copie e cole as instruções if anteriores dentro do loop. Não exclua o comando wait na parte inferior do loop while. O seu projeto pode parecer com esta imagem. Observe que copiar e colar comandos dessa maneira não resulta em recuo correto.
- Lembre-se, a indentação é MUITO importante no VEXcode VR Python. Para que o fluxo do projeto seja executado como pretendido, as instruções if precisam ser recuadas dentro do loop while infinito. Selecione as instruções if e pressione 'Tab' para indentá-las dentro do loop while infinito. Quando devidamente recuado, o seu projeto deve ter a seguinte aparência:
- Com o loop while infinito adicionado ao projeto, todas as instruções if terão repetidamente suas condições verificadas. Abra o Disk Maze Playground e execute o projeto.
- Quando este projeto for executado, o robô VR navegará pelo Disk Maze Playground do início ao fim. Assim que o Robô VR detetar vermelho, irá parar de conduzir.
Em resumo
- No projeto da lição anterior, as condições dentro das instruções if foram verificadas apenas uma vez. Como as condições dentro das instruções if foram verificadas apenas uma vez, o Robô VR avançou para sempre porque a condição de 'sem cor' sendo detectada foi relatada como True no início do projeto.
- Agora que o loop while infinito foi adicionado, cada condição das instruções if será verificada repetidamente. A condição do loop while é sempre True e, portanto, o código dentro do loop while sempre será executado. Isso verificará repetidamente as condições das instruções if enquanto o projeto estiver em execução.
- Durante o fluxo do projeto, se a condição das instruções if for True, os comandos dentro da instrução if serão executados. Se a condição da instrução if for False, os comandos dentro da instrução if não serão executados e o fluxo do projeto continuará para o próximo comando. Isso permite que o robô VR execute comportamentos discretos, como girar ou parar, uma vez que detecta uma determinada cor.
- Se as instruções forem usadas com loops while infinitos para garantir que as condições sejam constantemente verificadas.
Perguntas
Selecione uma ligação abaixo para aceder ao questionário da aula.
Google Doc / .docx / .pdf