Lezione 3: Utilizzo delle istruzioni If
Navigazione nel labirinto del disco utilizzando le istruzioni If
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 si allinea a un comportamento diverso che il robot VR dovrebbe eseguire.
Per tua informazione
L'istruzione if accetta solo condizioni booleane. 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 viene segnalata come Vera o Falsa.
se condizione:
superatoL'istruzione if verrà eseguita una 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 dell'istruzione if - girare a destra per 90 gradi. Se non viene rilevato un oggetto verde, il progetto passerà al comando successivo.
def main():
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.stop()- Avviare un nuovo progetto e selezionare Disk Maze Playground quando richiesto.

-
Chiamalo Unit7Lesson3.

- Aggiungere commenti per descrivere l' intenzione per i comportamenti del Robot VR durante ogni sezione successiva del progetto.
def main():
# Se l'occhio anteriore rileva il verde, girare a destra
# Se l'occhio anteriore rileva il blu, girare a sinistra- Trascina o digita l'istruzione if sotto il primo commento.
def main():
# Se l'occhio anteriore rileva il verde, girare a destra
se la condizione:
passa
# Se l'occhio anteriore rileva il blu, girare a sinistra- Imposta la condizione dell'istruzione if sul comando front_eye.detect e imposta il parametro su 'GREEN.'
def main():
# If front eye detects green then turn right
if front_eye.detect(GREEN):
pass
# If front eye detects blue then turn left- Trascinare o digitare un comando turn_for all'interno dell'istruzione if , per sostituire 'pass'. Impostare i parametri per girare a destra di 90 gradi. Ora, se il sensore dell'occhio anteriore rileva "VERDE", il robot VR ruoterà a destra di 90 gradi.
def main():
# If front eye detects green then turn right
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# If front eye detects blue then turn left- Seguiremo gli stessi passaggi per aggiungere ulteriori istruzioni if per tutti e tre i colori nel Labirinto dei Dischi (verde, blu e rosso). Ogni colore è associato a un comportamento diverso. I comandi all'interno delle istruzioni if dovranno corrispondere al comportamento previsto. Aggiungere i seguenti comandi al progetto sotto il secondo commento, in modo che se il sensore dell'occhio anteriore rileva il colore "BLU", il robot VR ruoterà a sinistra di 90 gradi.
# If front eye detects blue then turn left
if front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)-
Quando il robot VR raggiunge la fine del labirinto, il sensore oculare anteriore rileverà il colore "ROSSO".

- Per fermare il robot VR, è necessario aggiungere un'altra istruzione se con le istruzioni su cosa fare se il sensore dell'occhio frontale rileva "ROSSO". Aggiungere il seguente commento e comandi al progetto in modo che il robot VR smetta di guidare se rileva "ROSSO".
# If front eye detects red then stop
if front_eye.detect(RED):
drivetrain.stop()Se nessuno dei colori viene rilevato
Il robot VR può anche prendere una decisione se non vede un colore utilizzando il valore "none". Ad esempio, al punto di partenza del Labirinto Disco, il Sensore Occhio Anteriore 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. Un'altra istruzione se può essere aggiunta per indicare al robot VR cosa fare quando non viene rilevato alcun colore.
- Aggiungere il seguente commento e comandi al progetto, in modo che se il sensore oculare anteriore non rileva alcun colore, il robot VR avanzerà.
# If front eye detects none then drive forward
if front_eye.detect(NONE):
drivetrain.drive(FORWARD)- Il robot VR dispone ora di istruzioni per ciascun colore rilevato dal sensore oculare anteriore.
- Se il sensore dell'occhio anteriore rileva "VERDE" – Girare a destra di 90 gradi
- Se il sensore dell'occhio anteriore rileva "BLU" – Girare a sinistra di 90 gradi
- Se il sensore dell'occhio anteriore rileva "ROSSO" – Smetti di guidare
- Se il sensore dell'occhio anteriore rileva "NESSUNO" – Guida in avanti
- Aprire la finestra del parco giochi se non è già aperta. Assicurarsi che Disk Maze Playground si apra ed eseguire il progetto. L'intero progetto dovrebbe essere simile a questo:
def main():
# If front eye detects green then turn right
if front_eye.detect (GREEN):
drivetrain.turn_for (RIGHT, 90, DEGREES)
# If front eye detects blue then turn left
if front_eye.detect (BLUE):
drivetrain.turn_for (LEFT, 90, DEGREES)
# If front eye detects red then stop
if front_eye.detect (RED):
drivetrain.stop ()
# If front eye detects none then drive forward
if front_eye.detect (NONE):
drivetrain.drive (FORWARD)- Il robot VR si comporta come previsto? Perché sì o perché no? Nella prossima pagina della lezione, impareremo di più su questo progetto.
Selezionare il pulsante Avanti per continuare con il resto della lezione.