Cos’è
Scratch è un linguaggio di programmazione visuale orientato agli oggetti, denominati “sprites”.
Sviluppato dal MIT, ha come principale scopo quello di fare da primo approccio alla programmazione, fornendo una semplice interfaccia a blocchetti trascinabili e impilabili come mattoncini lego.
Per cominciare a giocare con Scratch è sufficiente andare sulla pagina del progetto e cliccare sul pulsante “Crea” nel menu in alto.
L’interfaccia di creazione di un progetto è veramente molto intuitiva
L’area di lavoro è divisa in quattro parti:
- A sinistra in alto troviamo un’anteprima del gioco che stiamo creando, con la possibilità di posizionare trascinando tutti gli elementi visuali.
- A sinistra in basso ci sono tutti gli oggetti-sprite che stiamo usando, con la possibilità di modificarli e/o aggiungerne di nuovi
- Al centro della schermata c’è il menu con tutti i controlli utilizzabili.
Da qui possiamo assegnare determinati comportamenti ai nostri sprite, indipendentemente l’uno dall’altro - A destra invece c’è il cuore di Scratch, l’area di lavoro vera e propria.
Questa è la sezione dove costruiamo il nostro gioco in maniera visiva, trascinando e impilando i controlli dall’area centrale.
Sporchiamoci le mani
Ora possiamo provare a costruire un semplice giochino, giusto per prendere confidenza con lo strumento.
Quello che vogliamo ottenere è che il gattino si muova verso il puntatore del nostro mouse gridando “Aspettami!!” e che quando poi lo raggiunga dica “uff… che fatica!”.
Il nostro algorimo sarà quindi così strutturato:
1 2 3 4 5 6 |
se il gatto tocca il puntatore del mouse dì "uff... che fatica!" altrimenti dì "Aspettami!!" punta verso il puntatore del mouse muovi 10 passi |
Come prima cosa scegliamo lo sprite che vogliamo controllare nell’area in basso a sinistra, nel nostro caso il gatto, cliccandoci sopra.
Poi passiamo a scegliere le azioni che dovrà compiere il gatto e costruiamo il blocchetto.
Prima di tutto scegliamo il blocco “se <> allora, altrimenti” dal menu centrale, sotto il tab “Controlli”
Si, ma “se” cosa??
Dalla tab “Sensori” prendiamo il blocchetto azzurro “sta toccando” e trasciniamolo all’interno del buco del blocchetto “se”.
Poi, cliccando sulla freccina, scegliamo “puntatore del mouse”.
Ok, quindi adesso è il momento di far parlare il gatto!
Dal tab “Aspetto” prendiamo due blocchetti “dire” e incastriamoli nei due spazi della nostra costruzione.
Nel primo, ossia nel caso che il gatto stia toccando il puntatore del mouse, ci scriviamo “Uff… che fatica!”, mentre, nel secondo, ossia nel caso che invece non stia toccando il mouse, gli facciamo dire “Aspettami!!”
Ora ci aspetteremmo che, passando il mouse sopra il gatto, appaiano i fumetti con quello che gli abbiamo detto di dire a seconda se il puntatore tocchi o meno il gatto, no?
Proviamo…
Ma… non succede niente!! Perchè??
Perchè dobbiamo in qualche modo “accendere” il gioco e dirgli di rimanere in attesa che succeda qualcosa.
Come fare?
Facile! Siamo su Scratch, c’è un blocchetto per tutto! :)
Dalla tab “Situazioni” prendiamo il nostro interruttore “quando si clicca sulla bandiera verde”, e, dalla tab “Controllo” prendiamo il blocchetto “per sempre” e assembliamo il nostro programma così:
Ora, cliccando sulla bandiera verde sopra l’area di sinistra, possiamo cambiare quallo che il gatto dice a seconda se lo tocchiamo o meno con il mouse.
E l’abbiamo fatto tutto da noi!
Ok, però ci rimane ancora il trovare un modo per farci inseguire dal gatto, vediamo come fare…
Dalla tab “Movimento” prendiamo i due blocchetti “punta verso” e “fai 10 passi”, e incastriamoli sotto il blocchetto “dire Aspettami!!”, andando a scegliere “puntatore del mouse” come abbiamo fatto prima.
Et voilà! Ecco che avviando il gioco il nostro gattino ci seguirà dappertutto!
Ecco un link al risultato finito -> http://scratch.mit.edu/projects/19846825/
Per giocare un po’ con quello che abbiamo costruito, possiamo provare a cambiare quel “fai 10 passi” in “fai 30 passi” e vedere se riusciamo ancora a sfuggirgli facilmente, o possiamo cambiare quello che dice il gatto, o provare ad aggiungere altre azioni…
L’unico limite è l’immaginazione! :D