Skip to main content

Lezione 4: Spostare un disco rosso e verde

  • Successivamente, il robot VR dovrà avanzare verso il prossimo obiettivo colorato. Si noti che il robot VR dovrà avanzare di quattro quadrati della griglia o 800 millimetri (mm) per raggiungere il centro del prossimo obiettivo colorato.

    Vista dall'alto verso il basso del Disk Mover Playground, con il VR Robot posizionato sul bordo dell'obiettivo blu dopo aver lasciato il primo disco blu, rivolto verso l'obiettivo rosso a destra. Una freccia tratteggiata punta dalla parte anteriore del robot VR alla porta rossa, indicando il prossimo movimento previsto.
  • Aggiungere un blocco [Drive for] al codice e impostare il parametro su 800 millimetri (mm).

    Lo stesso progetto VEXcode VR della pagina precedente, con un commento e Drive per blocco aggiunti alla fine dello stack. I due blocchi aggiuntivi leggono Drive to next goal, quindi guidano in avanti per 800 mm.
  • Il robot VR dovrà ora ruotare per affrontare i dischi colorati.

    Vista dall'alto verso il basso del Disk Mover Playground, con il robot VR posizionato nell'area degli obiettivi rossa. Una freccia curva punta dalla parte anteriore del robot VR verso i dischi rossi, indicando la svolta necessaria per affrontare i dischi rossi.
  • Aggiungere un secondo blocco [Turn to heading] al codice e impostare il parametro a zero gradi. Questo ruoterà il robot VR verso i dischi colorati.

    Lo stesso progetto VEXcode VR, con un blocco Comment e un blocco Turn to heading aggiunti alla fine dello stack. Questi due blocchi recitano Turn to disks, poi Turn to heading 0 degrees.
  • Aprire il Disk Mover Playground ed eseguire il progetto.
  • Il robot VR raccoglierà e sposterà il primo disco blu nell'obiettivo blu, quindi supererà l'obiettivo rosso. Il robot VR si girerà anche verso i dischi rossi.

    Una vista dall'alto verso il basso del Disk Mover Playground con la VR posizionata sul bordo anteriore della porta rossa, di fronte ai dischi rossi.
  • Ora che il robot VR è rivolto verso i dischi rossi, il robot VR dovrà ripetere gli stessi comportamenti utilizzati per raccogliere il disco blu, al fine di raccogliere e spostare il disco rosso. I comportamenti di guida in avanti per prendere il disco, girarsi e tornare allo stesso obiettivo colorato per lasciare il disco.

    Una vista dall'alto verso il basso del Disk Mover Playground con la VR posizionata sul bordo anteriore della porta rossa, di fronte ai dischi rossi. Le frecce tratteggiate indicano i movimenti necessari per guidare per raccogliere il primo disco rosso, consegnarlo all'obiettivo rosso, quindi girare e guidare verso l'obiettivo verde.
  • Una volta spostato il primo disco rosso, il robot VR dovrà quindi guidare verso l'obiettivo verde ed eseguire le stesse azioni utilizzate per spostare il disco blu e rosso, per spostare il primo disco verde.

    Una vista dall'alto verso il basso del Disk Mover Playground nella configurazione di partenza, con il robot nella posizione di partenza dell'obiettivo blu. Le frecce punteggiate mostrano i comportamenti ripetuti previsti per far sì che il robot prelevi e consegni il primo di ciascun disco ai rispettivi obiettivi.
  • Per ripetere i comportamenti più volte, è possibile utilizzare un blocco [Ripeti].

    Un blocco VEXcode VR Repeat dalla Toolbox, con il parametro impostato sul valore predefinito di 10.
  • Aggiungere un blocco [Repeat] al codice e impostare il parametro su ‘3’.

    Una panoramica dell'aggiunta di un blocco Repeat al progetto VEXcode VR esistente, in modo che tutti i blocchi necessari per raccogliere e spostare il primo disco blu verso l'obiettivo blu, girare per guidare verso l'obiettivo successivo e quindi girare verso il disco siano avvolti all'interno della C del blocco repeat. Il parametro del blocco di ripetizione è impostato su 3.
  • Aprire il Disk Mover Playground ed eseguire il progetto.
  • Quando questo progetto viene eseguito, il robot VR raccoglie e rilascia un disco di ciascun colore nel suo obiettivo colorato corrispondente.

    Una vista dall'alto verso il basso del Disk Mover Playground che mostra lo stato finale dei dischi e del robot dopo l'esecuzione del progetto. Il primo di ogni disco di colore si trova nell'obiettivo del colore corrispondente e il robot VR si trova sulla parete del parco giochi al bordo dell'obiettivo verde.
  • Si noti che il robot VR ha continuato a guidare contro il muro. Questo comportamento è previsto poiché il progetto ha incaricato il robot VR di girare a destra e guidare verso l'obiettivo successivo, per tre volte. La prima volta è guidare dal blu al rosso. Il secondo è dal rosso al verde, e il terzo è dal verde al muro, poiché non c'è un altro obiettivo colorato. Interrompi il progetto una volta che il robot VR colpisce il muro. Il progetto potrebbe essere migliorato in modo che il robot VR si fermi dopo aver raccolto e spostato il disco verde, ma ciò aumenterebbe la complessità complessiva del progetto.

    La finestra del parco giochi che mostra il robot VR all'interno dell'area obiettivo verde alla fine del progetto, con il pulsante Stop evidenziato da una casella rossa che indica l'arresto del progetto prima che il robot corra contro il muro.

Per tua informazione

Il posizionamento di un'ansa all'interno di un'altra ansa è chiamato annidamento. Quando si "nidificano" i cicli, il ciclo esterno controlla il numero di volte in cui viene eseguito il ciclo interno. Esistono molti tipi diversi di loop che possono essere annidati. Ad esempio, nel codice precedente, i blocchi [Repeat until] sono nidificati all'interno di un blocco [Repeat].

Lo stesso progetto VEXcode VR di prima, che mostra come i blocchi Repeat until C sono nidificati all'interno del blocco Repeat, consentendo al robot di spostare con successo tre dischi.

Un blocco [Repeat] può anche essere annidato all'interno di un altro blocco [Repeat]. Nell'esempio seguente, poiché il blocco esterno [Repeat] è impostato su "3", il robot VR disegnerà tre quadrati sul parco giochi.

A sinistra, un progetto mostra un blocco di ripetizione impostato su 3, con il blocco di ripetizione necessario per codificare il robot VR per disegnare un quadrato nidificato al suo interno, illustrando il concetto di loop nidificati. A destra, la finestra Playground mostra i tre quadrati disegnati dal robot dal progetto.

I loop nidificati sono utili nei progetti in cui un robot VR ripete gli stessi comportamenti più di una volta. Nesting Loops organizza e condensa un progetto. Questo può essere utile per comprendere meglio il contesto e lo scopo del codice, oltre a facilitare la ricerca di errori.

Selezionare il pulsante Avanti per continuare con il resto della lezione.