Lección 3: Flujo del proyecto con múltiples bucles While
Ahora que ha creado un proyecto de texto para navegar el robot VR hasta la letra "A" en el laberinto de pared Patio de juegos, ampliará sus habilidades usando condicionales y valores de sensores. En esta lección, navegarás con el robot VR hasta el número "2" en el laberinto de pared Patio de juegosy luego explorarás por qué se necesitan comandos adicionales para conducir hasta la letra "B". En el mini-reto, aplicarás estas habilidades para navegar desde el comienzo del laberinto de la pared hasta el número ‘3’.

Resultados de aprendizaje
- Describa el flujo del programa en un proyecto que tiene un accionamiento de robot VR hacia adelante hasta que se presiona el sensor del parachoques.
Cambiar el nombre del proyecto
- Si el proyecto de la lección anterior aún no está cargado, cargue el proyecto Unit4Lesson2.
-
Cambie el nombre del proyecto Unit4Lesson3.
Flujo del proyecto para conducir a la letra ‘A’
En la lección anterior, el robot VR se dirigió a la letra 'A' en el laberinto de pared Patio de juegos. Desglosemos el flujo del proyecto mientras nos preparamos para navegar a una nueva ubicación en el laberinto de muros.

-
Para comprender mejor el flujo del proyecto para conducir hasta la letra ‘A’ en el Wall Maze Playground, comience modificando su proyecto anterior o cree un nuevo proyecto para que coincida con este proyecto base.
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop()
- Cuando un proyecto utiliza un bucle while con una condición not , el flujo del programa del proyecto aún sigue la misma secuencia de arriba a abajo. El bucle while permite que el flujo del programa se "pause" en un punto determinado, mientras se cumple una condición. El operador no permite que el proyecto permanezca en el bucle hasta que la condición se informe como Falso. Luego, el proyecto pasará al siguiente comando fuera del bucle. Una condición booleana, como el parachoques izquierdo presionado, informará un valor verdadero o falso. En este código para conducir el robot VR a la letra ‘A’, el robot VR avanzará hasta que la condición booleana del parachoques izquierdo que se presiona sea verdadera.
El flujo de proyecto del proyecto para conducir a la letra 'A' se vería así:
El comportamiento del robot VR muestra cómo se ejecuta cada bucle mientras . Desglosando junto con el movimiento del Robot VR, podemos ver claramente hacia dónde se ha dirigido el Robot VR después de cada bucle mientras que se ejecutó en el proyecto.
Conduce hasta el número '2'
En esta lección, se editará el proyecto para que el robot VR conduzca hasta el número "2" en el laberinto de pared ¡Patio de juegos!

-
El proyecto de la Lección 2 tiene el robot de realidad virtual girando a la izquierda para conducir hasta la letra "A". Para llegar al número ‘2‘, el robot de realidad virtual tendrá que girar a la derecha, avanzar y luego girar a la izquierda.
-
Cambie la dirección del segundo giro_para el comando a la derecha en lugar de a la izquierda. Tu proyecto ahora debería verse así:
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.turn_for (RIGHT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop()
- Inicie el Wall Maze Playground si aún no está abierto y ejecute el proyecto.
-
Observe cómo el robot VR comienza a conducir hasta el número ‘2’, pero deténgase en una pared. Por lo tanto, el robot VR debe girar a la izquierda una vez que presiona contra la pared en lugar de detenerse.
-
Seleccione el botón "Restablecer" para restablecer el patio de recreo y mover el robot VR de nuevo a la posición inicial.
-
Edite el código eliminando el comando stop y reemplazándolo con los siguientes comandos para conducir el robot VR al número '2'.
def main(): while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.turn_for (RIGHT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop ()
- Inicie el Wall Maze Playground si aún no está abierto y ejecute el proyecto.
-
¡Mira cómo el robot VR se dirige al número "2" en el laberinto de pared del patio de juegos!
- Seleccione el botón "Restablecer" para restablecer el patio de recreo y mover el robot VR de nuevo a la posición inicial.
Seleccione el botón Siguiente para continuar con el resto de esta lección.