Scratch e gli “altri blocchi”

Angelo Biolcati Rinaldi
CDJr
Published in
5 min readNov 23, 2018

Questo post è per chi conosce già abbastanza i vari blocchi che costituiscono il linguaggio visuale di Scratch: impareremo infatti a creare nuovi blocchi!

Tutte le famiglie dei blocchi

Puoi dire di aver imparato a fare una cosa, ad esempio andare in bici, quando non devi stare a pensare a tutti i dettagli, non è vero? Non è che quando pedali sei sempre lì a chiederti cosa fare quando ti accorgi che pendi a destra (ovvero che la verticale del tuo baricentro interseca il suolo a destra della linea che congiunge i punti di contatto delle ruote al suolo)… giri un po’ a destra per non cadere, e in fretta! Sembra quasi che la bici sterzi da sola, talmente è naturale e spontaneo il tuo gesto, giusto?

Questo è il modo che gli umani hanno inventato per andare d’accordo con la complessità: ne facciamo un modello, semplificato; gli diamo un nome e ci scordiamo il resto. La stessa cosa capita dentro al cervellino del computer. Prendete ad esempio il mattoncino timbra:

Basta cliccarci sopra e il gattino Scratch prende uno per uno tutti i pixel di cui è fatto e ne appiccica una copia sullo sfondo, nell’esatto punto in cui si trovano “adesso”; provate! Famiglia penna, mattoncino timbra: cliccatelo. Poi spostate il gattino trascinandolo con il mouse (o con un mattoncino della famiglia Movimento) ed ecco che appare la sua immagine timbrata sotto… Un solo click e centinaia di pixel cambiano colore! Comodo, non è vero?

Oggi impareremo a disegnare un fiore, anzi a farlo disegnare a Scratch! E vogliamo che questo fiore abbia… quanti petali? Quelli che ci pare! Dai allora!

Creiamo un nuovo sprite (1), clicchiamo sul cerchio (2) e selezioniamo il colore rosso; usando il tasto delle maiuscole facciamo un bel cerchio invece di un ellisse, poi lo riempiamo sempre di rosso col bidoncino (3) e infine ci assicuriamo che sia ben centrato (4). Adesso mancano solo i petali!

Creiamo un nuovo costume (1), clicchiamo sul cerchio (2) e selezioniamo il colore blu; selezioniamo anche il fatto che vogliamo un cerchio pieno, così ci risparmiamo il bidoncino; tracciamo il nostro petalo e facciamo in modo che il centro di questo costume (3) sia alla sinistra del petalo stesso. Adesso siamo pronti a “timbrare” tutti i fiori che vogliamo.

Ecco i mattoncini che ci servono: i primi 3 servono a partire col piede giusto, in modo che si possano fare e rifare tutti gli esperimenti che vogliamo (inizializzazione). Poi “indossiamo” il costume del centro, lo timbriamo, passiamo al costume del petalo e lo timbriamo 10 volte, ogni volta ruotandolo un po’. Di quanto? Beh, 10 timbri. 360 gradi un angolo giro… 360/10 fa 36. Ecco quello che salta fuori:

un fiore con 10 petali, un po’ troppo grandi e vicini al centro :-|

Adesso che abbiamo insegnato a Scratch come si disegna un fiore… ce lo vogliamo scordare! Così ci possiamo concentrare su altre cose più belle e più difficili. Creiamo il nostro primo mattoncino e lo chiamiamo proprio fiore.

Facile, vero? Abbiamo spostato i mattoncini che disegnano sotto il cappello del fiore (function) e nel nostro programma principale (main) lo “usiamo” tutte le volte che ci pare. Questo è il risultato (intanto che c’ero ho fatto un po’ di cambiamenti: timbro il centro per ultimo così viene “sopra” e i petali son più piccoli, col bordo giallo):

Quando usiamo il nostro mattoncino fiore lo usiamo e basta, non stiamo a pensare a timbrare questo, timbrare quello, ruotare… fiore! Bona. Bello, eh?Apperò! Il numero dei petali così è fisso… e se volessimo 7 petali? O 15! Bisognerebbe poterlo comunicare al nostro mattoncino fiore. Il bello è che è facilissimo farlo: creiamo un nuovo mattoncino, ma stavolta usiamo le opzioni:

Parametro numerico, ecco il concetto chiave! Ma se ci pensate, lo conoscevamo già: il mattoncino ruota vuole sapere di quanti gradi! Il nostro nuovo mattoncino fiore vuole sapere quanti petali deve disegnare; poi ci penserà lui a calcolare di quanto deve ruotare per fare il giro completo.

Mentre definiamo il nostro nuovo fiore, possiamo usare petali trascinandolo dove ci fa comodo: al posto del 10 nel ripeti e nell’espressione che calcola di quanto girare. Non chiedete mai un fiore con ZERO petali!!! Chiedetelo con un numero dispari di petali se volete che venga m’ama ;-)

Bene! Abbiamo imparato a creare un “altro blocco”. Adesso scordiamoci tutto e concentriamoci su altre cose: più belle, difficili e… divertenti!

Alla prossima :-)

PS Compito a casa
Create un mattoncino che disegna un fiore usando 2 parametri: il numero di petali e la “dimensione” cioè il fattore di zoom; così potete fare fiori di tutte le dimensioni. Se siete bravissimi potete anche creare nuovi costumi con petali diversi, per forma e colore, e aggiungere il parametro che dice quale petalo usare. Ma allora mettiamo anche più centri e un altro parametro…

--

--

Angelo Biolcati Rinaldi
Angelo Biolcati Rinaldi

Written by Angelo Biolcati Rinaldi

I’m a software developer using Embarcadero Delphi (since nov.1994 field test) for Win/Mac/iOS/Android/Linux native apps. Proud mentor of CodeDojoRavenna :-D

No responses yet