# Tempo sul giro (scuola media)
## Tempo sul giro (cronometro per gioco)

Misurazione tempi attività di gioco: tempo sul giro

## Versione di Scratch utilizzata

La versione di scratch usata in questo progetto è scratch 3.0 online.

## Cosa richiede l'esercizio

Il gatto percorre un semplice percorso guidato manualmente con le frecce della tastiera il cronometro misura e registra il tempo sul giro. Rispetto al percorso disegnato non c'è nessuna interazione, cosa che ovviamente può/deve essere aggiunta in modo che il gatto sia costretto a girare nel percorso. Per mettere delle interazioni che costringano il gatto a stare nel percorso si può prendere ispirazione da questo tutorial Car racing del Coderdojo Trento

## Come funziona il cronometro

In questo progetto il tempo sul giro viene registrato facendo uso del timer, di due variabili Tempo e InterruttoreCrono e di una lista Tempi. Fare il remix di questo script modificandolo, semplificandolo, usando meno variabili, dovrebbe essere piuttosto semplice.
Il tempo sul giro viene misurato usando il timer che si trova nella sezione dei blocchi Sensing (azzurri). Il gatto, Sprite1, ogni volta che passa sulla linea di Partenza/Arrivo tocca lo sprite Paddle, una linea rossa verticale corta.
Ogni volta che il gatto passa sulla linea, che i due sprite si toccano, la linea scompare per un secondo, in modo che l'istante in cui avviene il tocco sia unico.
Al primo passaggio del gatto viene azzerato e avviato il timer e il cronometro che è spento, InterruttoreCrono vale 0, viene acceso, portando InterruttoreCrono al valore 1 dallo script che riceve il messaggio Partenza.
Nei successivi passaggi viene registrato il Tempo nella variabile tempo che assume il valore del timer al passaggio. Il timer viene azzerato e così riavviato. Il tempo registrato viene inserito nella lista Tempi. Ovviamente questo comportamento è modificabile, ad esempio programmando degli script in modo che venga tenuto registrato solo il miglior tempo.

## Sfondo

| Istruzioni | Immagini |
| Disegnamo una pista sullo sfondo | |

## Gatto (veicolo)

Per prima cosa uno inseriamo lo script per guidare il gatto, ovviamente in un progetto che usi il cronometro il gatto può essere sostituito da una macchinina o da qualsiasi altro veicolo ed anche il modo in cui lo si guida può essere modificato, vedi ad esempio Guidare con le frecce.
| Sprite | Blocchi codice | Istruzioni |
| | | Guidare il gatto con le frecce, inizialmente il gatto si posiziona in prossimità della linea di Partenza/Arrivo in posizione (-40,-140) puntando in direzione destra (90). questo script di guida del gatto è quello suggerito a pagina 24 nel manuale Programmo anch'io |

## Gatto script per il funzionamento del cronometro

| Sprite | Blocchi codice | Istruzioni |
| | | Inizializzare la lista Tempi: la lista viene azzerata. |
| Sprite | Blocchi codice | Istruzioni |
| | | Inizializzazione del timer della variabile Tempo e dell'InterruttoreCrono, sial il timer che la viariabile InterruttoreCrono vengono portati a 0. |
| Sprite | Blocchi codice | Istruzioni |
| | | Ogni volta che il gatto passa dalla linea di partenza, e tocca lo sprite Paddle invia i messaggi per: salvare il tempo fatto sul giro, azzerare il cronometro e cominciare a misurare il tempo del giro successivo. |
| Sprite | Blocchi codice | Istruzioni |
| | | Alla ricezione del messaggio Arrivo deve essere inserito il tempo registrato nella lista Tempi ed 'InterruttoreCrono deve essere mantenuto sul valore 1 (acceso). |
| Sprite | Istruzioni | Blocco codice1 |
| | | Al primo passaggio dalla linea di Partenza/Arrivo deve essere azzerato il timer e l'InterruttoreCrono deve essere portato ad 1 (acceso). |

## Linea della partenza/arrivo

| Sprite | Blocchi codice | Istruzioni |
| LineaRossa | | La linea della partenza Paddle deve nascondersi appena tocca il gatto, Sprite1, in modo che sia ben definito l'istante in cui avviare il timer, dopo un secondo la linea può riapparire. Questo serve a fare si che che ci sia un solo tocco tra i due sprite, che altrimenti continuando a toccarsi manderebbero più di un messaggio. |

## Progetto funzionante

https://scratch.mit.edu/projects/340517367/