Skip to main content

Lezione 3: Riepilogo post-progetto

  • Quando questo progetto viene eseguito, il robot VR continua ad avanzare anche in caso di collisione con il primo disco verde.

    Una vista dall'alto verso il basso del VR Disk Maze Playground dopo aver eseguito il nostro progetto di blocchi VEXcode. Il robot VR ha fallito la sfida guidando in avanti e correndo contro il primo disco verde dritto davanti a sé.
  • Questo progetto istruisce solo il robot VR a verificare le condizioni di ciascun blocco [If then] una volta all'inizio del progetto.

    Un diagramma del flusso di logica nel nostro progetto di blocchi VEXcode VR. Le frecce indicano che ogni istruzione if viene eseguita una sola volta prima della fine del progetto, rendendo così il nostro progetto molto meno reattivo di quanto vorremmo. Il nostro progetto controlla se l'occhio anteriore rileva il verde e, in tal caso, gira a destra di 90 gradi. Successivamente, se l'occhio anteriore rileva il blu, gira a sinistra per 90 gradi. Successivamente, se l'occhio anteriore rileva il rosso, smette di guidare. Infine, se l'occhio anteriore non ne rileva nessuno, si muove in avanti.
  • Il blocco [If then] è diverso dal blocco [Wait until].
    • [Attendere fino a] blocchi non richiedono una decisione da parte del robot VR. Quando la condizione è VERA, il blocco [Wait until] esegue il blocco successivo nello stack. Quando la condizione è FALSA, il blocco [Attendi fino a] continua ad attendere fino a quando la condizione è VERA e interrompe l'esecuzione del resto del progetto.

      Un diagramma del flusso di un esempio di progetto VEXcode VR che utilizza un blocco Wait Until tra un blocco Drive Forward e un blocco Turn Right for 90 degrees. Il parametro del blocco Attendi fino a quando si legge "L'occhio anteriore rileva il verde?". Le frecce indicano il flusso della logica, mostrando che il blocco Attendi fino a quando il programma non guida in avanti fino a quando il suo parametro è vero, quindi smette di guidare in avanti e gira a destra per 90 gradi.
    • [If then] blocchi richiedono che il robot VR prenda una decisione. Se la condizione è VERA, vengono eseguiti i blocchi all'interno del blocco C [If then]. Se la condizione è FALSA, i blocchi all'interno del blocco C [If then] vengono saltati.

      Un diagramma del flusso di logica nel nostro progetto di blocchi VEXcode VR. Le frecce indicano che ogni istruzione if viene controllata una sola volta, dando ai suoi blocchi interni l'opzione di esecuzione prima che il flusso del programma continui con l'istruzione if successiva. Dopo l'ultima istruzione if viene controllata, il flusso della logica non torna mai indietro per controllare nuovamente nessuna delle istruzioni if, rendendo il progetto molto meno reattivo di quanto vorremmo. Il nostro progetto controlla se l'occhio anteriore rileva il verde e, in tal caso, gira a destra di 90 gradi. Successivamente, se l'occhio anteriore rileva il blu, gira a sinistra per 90 gradi. Successivamente, se l'occhio anteriore rileva il rosso, smette di guidare. Infine, se l'occhio anteriore non ne rileva nessuno, si muove in avanti.
  • Il robot VR continuerà ad avanzare poiché l'ultimo blocco [If then] nello stack è stato segnalato come VERO e tutti gli altri blocchi sono stati segnalati come FALSI all'inizio del progetto.
  • Salva il progetto prima di passare alla lezione successiva.

Domande

Seleziona un link qui sotto per accedere al quiz della lezione.

Google Doc / .docx / .pdf