Il blog di didattica per la scuola primaria
banner

Coding con Scratch: sensori (1° parte)

Con i sensori di Scratch è possibile gestire gli input ricevuti dall’utente attraverso la tastiera, il mouse, il microfono e così via. In questo articolo vediamo come.

Coding con Scratch: sensori

La categoria “Sensori” di Scratch contiene una serie di blocchi che consentono al programma di “raccogliere” dati che non dipendono dal programma stesso.

Per esempio si possono leggere le coordinata del puntatore del mouse, oppure il livello di rumore attorno al microfono.

Molto spesso questi blocchi non possono essere utilizzati da soli, ma vanno inseriti all’interno di un altro blocco.
Nell’esempio di Figura 1 vediamo come usare il blocco sta toccando il puntatore del mouse.

Questo blocco è di tipo “booleano”, cioè ritorna un valore che può essere falso (0) oppure vero (1).

Se lo inseriamo in un blocco se … allora possiamo decidere che azione far fare a uno sprite quando il puntatore del mouse si trova sopra di esso.

Figura 1

Sempre con la stessa tecnica possiamo far ingrandire il gatto quando lo sprite si trova nella parte destra dello stage e farlo rimpicciolire in tutti gli altri casi (Figura 2).

Figura 2

Si noti che i blocchi se vengono inseriti all’interno del blocco per sempre, altrimenti il controllo verrebbe eseguito solamente una volta.

Gestire la risposta dell’utente

I blocchi chiedi … e attendi e risposta consentono di chiedere all’utente di digitare qualcosa e di utilizzare quanto digitato all’interno del programma.

Nell’esempio di Figura 3 si vede come, tramite il blocco risposta, si può ricavare l’ultimo valore digitato dall’utente.

Figura 3

La risposta dell’utente può anche essere verificata e gestita con un blocco se … allora, oppure se … allora / altrimenti, come mostrato in Figura 4.

Figura 4

In definitiva, la coppia di blocchi chiedi e risposta è estremamente versatile (Figura 5).

Figura 5

Uso del sensore cronometro

Il cronometro interno di Scratch è molto utile, a patto di ricordarsi che è sempre attivo, anche se non viene visualizzato sullo stage.
Non è possibile fermarlo, ma può essere azzerato, come in Figura 6.

Figura 6

Nell’esempio di Figura 7 il valore del cronometro viene salvato nella variabile “tempo” ogni volta che l’utente clicca sul gatto (che si sposta qua è là).

Figura 7

Puntata precedente: Coding con Scratch: blocchi personalizzati (2° parte)

Puntata successiva: Coding con Scratch: sensori (2° parte)

Condividi


Precedente:
Successivo: