Lezione 3: Flusso del progetto con più cicli While
Ora che hai creato un progetto di testo per navigare nel robot VR fino alla lettera "A" sul Wall Maze Playground, espanderai le tue abilità usando condizionali e valori del sensore. In questa lezione, navigherai nel robot VR fino al numero "2" nel Wall Maze Playground, quindi esplorerai perché sono necessari comandi aggiuntivi per guidare fino alla lettera "B". Nella mini-sfida, applicherai queste abilità per navigare dall'inizio del Labirinto del Muro al numero "3".

Risultati di apprendimento
- Descrivere il flusso del programma in un progetto che ha un robot VR che avanza fino a quando non viene premuto il sensore paraurti.
Rinomina il progetto
- Se il progetto della lezione precedente non è già stato caricato, caricare il progetto Unit4Lesson2.
-
Rinominare il progetto Unit4Lesson3.
Flusso del progetto da portare alla lettera "A"
Nella lezione precedente, il robot VR si è recato alla lettera "A" nel labirinto muro parco giochi. Analizziamo il flusso del progetto mentre ci prepariamo a navigare verso una nuova posizione nel Labirinto del Muro.

-
Per comprendere meglio il flusso del progetto per guidare fino alla lettera "A" sul Wall Maze Playground, inizia modificando il tuo progetto precedente o crea un nuovo progetto che corrisponda a questo progetto di 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()
- Quando un progetto utilizza un ciclo while con una condizione not , il flusso del programma del progetto segue comunque la stessa sequenza dall'alto verso il basso. Il ciclo while consente al flusso del programma di "mettersi in pausa" in un certo punto, mentre viene soddisfatta una condizione. L'operatore non consente al progetto di rimanere nel ciclo finché la condizione non viene segnalata come False. Quindi il progetto passerà al comando successivo al di fuori del ciclo. Una condizione booleana, come il paraurti sinistro premuto, riporterà un valore vero o falso. In questo codice per guidare il robot VR alla lettera "A", il robot VR avanzerà fino a quando la condizione booleana del paraurti sinistro premuto non sarà True.
Il flusso di progetto del progetto da guidare alla lettera "A" sarebbe simile a questo:
Il comportamento del robot VR mostra come viene eseguito ogni ciclo mentre . Scomposto accanto al movimento del robot VR, possiamo vedere chiaramente dove è andato a finire il robot VR dopo ogni ciclo di esecuzione del progetto.
Guida fino al numero "2"
In questa lezione, il progetto verrà modificato in modo che il robot VR si sposti verso il numero "2" sul muro del labirinto del parco giochi!

-
Il progetto della lezione 2 ha il robot VR che gira a sinistra per guidare alla lettera "A". Per passare al numero "2", il robot VR dovrà invece girare a destra, avanzare e quindi girare a sinistra.
-
Cambia la direzione del secondo comando turn_for da sinistra a destra. Il tuo progetto dovrebbe assomigliare a questo:
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()
- Avviare il Wall Maze Playground se non è già aperto ed eseguire il progetto.
-
Guarda il robot VR che inizia a guidare verso il numero "2", ma si ferma davanti a un muro. Pertanto, il robot VR deve girare a sinistra una volta premuto contro il muro invece di fermarsi.
-
Selezionare il pulsante "Reset" per ripristinare il parco giochi e riportare il robot VR alla posizione di partenza.
-
Modifica il codice rimuovendo il comando stop e sostituendolo con i seguenti comandi per guidare il robot VR al numero '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 ()
- Avviare il Wall Maze Playground se non è già aperto ed eseguire il progetto.
-
Guarda il robot VR guidare fino al numero '2' nel labirinto muro Playground!
- Selezionare il pulsante "Reset" per ripristinare il parco giochi e riportare il robot VR alla posizione di partenza.
Selezionare il pulsante Avanti per continuare con il resto della lezione.