Lezione 3: Utilizzo dei blocchi [If then]
Nella Disk Maze Challenge, il robot VR sta controllando le condizioni del sensore dell'occhio anteriore per vedere di che colore viene segnalato. Ciascuno dei colori corrisponde a un comportamento diverso che il robot VR dovrebbe eseguire.

-
Avvia un nuovo progetto e chiamalo Unit7Lesson3.

-
Trascinare un blocco [If then] nell'area di lavoro e collegarlo al blocco [When started].

Per tua informazione
Il blocco [If then] è un blocco C che accetta blocchi reporter booleani come input. Utilizzando i modelli osservati durante la risoluzione del labirinto del disco nella lezione 2, è possibile creare un progetto in cui il robot VR prende una decisione se la condizione È VERA o FALSA.

Il blocco [If then] verrà eseguito una sola volta in un progetto. In questo esempio, il Front Eye Sensor segnalerà TRUE se viene rilevato un oggetto verde ed eseguirà il comando all'interno del blocco C - girare a destra per 90 gradi. Se non viene rilevato un oggetto verde, il progetto passerà al comando successivo nello stack.

Utilizzo di blocchi di interruttori
L'immagine seguente mostra l'istruzione di blocco Switch [If then] per il progetto di esempio di questa lezione.
Il progetto seguente include gli stessi comandi convertiti in un blocco Switch.
La prima riga di codice, se front_eye.detect(VERDE): è il loop condizionale che controlla se il Front Eye Sensor rileva il colore verde. Si noti che alla fine di questa riga dovrebbero esserci i due punti (:).
La seconda riga di codice, drivetrain.turn_for(a DESTRA, 90, GRADI) dice al robot di girare a destra per 90 gradi quando il sensore oculare anteriore rileva il colore verde. Questa riga è rientrata con un valore predefinito di 4 spazi perché questo è il comportamento specifico che verrà eseguito se il sensore oculare anteriore rileva il verde.

-
Trascinare un <Color sensing> blocco nell'area di lavoro nell'ingresso esagonale del blocco [If then].

-
Modificare il parametro del <Color sensing> blocco in "verde".

-
Quando il sensore dell'occhio anteriore rileva un disco verde, il robot VR dovrà girare a destra di 90 gradi per iniziare a risolvere il labirinto di dischi. Trascinare un blocco [Turn for] nel blocco [If then].

-
Segui questi stessi passaggi per aggiungere un altro blocco [If then] per tutti e tre i colori nel Labirinto Disco (verde, blu e rosso). Ogni colore è associato a un comportamento diverso. I blocchi all'interno del blocco [If then] dovranno corrispondere al comportamento previsto. Aggiungi i seguenti blocchi al progetto. Quando il robot VR rileva il colore "blu", il robot VR gira a sinistra di 90 gradi.

-
Quando il robot VR raggiunge la fine del labirinto, il robot VR rileverà il colore "rosso".

-
Per arrestare il robot VR, è necessario aggiungere un altro blocco [If then] con le istruzioni su cosa fare quando il robot VR rileva "rosso". Aggiungi i seguenti blocchi al progetto.

-
Il robot VR può anche prendere una decisione se non vede un colore utilizzando il valore "none". Al punto di partenza del Disk Maze, il Robot VR non rileva alcun colore.

-
Poiché il sensore dell'occhio anteriore non rileva un colore all'inizio del labirinto del disco, il robot VR dovrà avanzare fino a quando non rileva il disco verde. È possibile aggiungere un altro blocco [If then] per indicare al robot VR cosa fare quando non viene rilevato alcun colore.

-
Aggiungi i seguenti blocchi al progetto. Quando il robot VR non rileva alcun colore, il robot VR avanzerà.

- Il robot VR ora ha istruzioni per ogni colore rilevato dal sensore oculare.
- Il sensore oculare anteriore rileva "verde?"
- Gira a destra di 90 gradi
- Il sensore oculare anteriore rileva "blu?"
- Gira a sinistra di 90 gradi
- Il sensore oculare anteriore rileva "rosso?"
- Smetti di guidare
- Il sensore oculare anteriore rileva "nessuno?"
- Guida in avanti
- Il sensore oculare anteriore rileva "verde?"
- Aprire il Disk Maze Playground ed eseguire il progetto.
Selezionare il pulsante Avanti per continuare con il resto della lezione.