Programmare con Scratch è semplice e divertente e allo stesso tempo allena la mente al pensiero logico.
Sviluppiamo dunque dei semplici esercizi per acquisire padronanza con i comandi di selezione.
Programmare con Scratch – primo esempio
Progettare l’algoritmo che, dati base e altezza di un triangolo, calcoli l’area se sono entrambi positivi, oppure stampi il messaggio “Valori di input errati“.
Innanzitutto scegliamo uno sfondo ed uno sprite qualsiasi.
Dopo creiamo le variabili necessarie:
base: rappresenta la base del triangolo e chiaramente deve essere un valore maggiore di zero.
altezza: rappresenta l’altezza del triangolo e deve essere un valore maggiore di zero.
area: è la variabile che memorizza il calcolo dell’area del triangolo.
Quindi chiediamo in input la base e l’altezza e, solo se questi valori sono entrambi positivi, calcoliamo l’area del triangolo. Altrimenti visualizziamo un messaggio di errore.
Ecco di seguito il semplice programma con Scratch:
Programmare con Scratch – Secondo esempio
Il secondo esempio è molto simile al primo.
Progettare l’algoritmo che, dati la base maggiore, la base minore e l’altezza di un trapezio, calcoli l’area se tutti i valori sono positivi, altrimenti stampi il messaggio “Valori di input errati“.
Innanzitutto scegliamo uno sfondo ed uno sprite qualsiasi e costruiamo il nostro script sullo sprite scelto.
L’algoritmo si risolve in maniera molto simile al precedente, ma questa volta occorre una variabile in più, cioè la base maggiore.
base: rappresenta la base minore del trapezio e deve essere un valore maggiore di zero.
BASE: rappresenta la base maggiore del trapezio e deve essere un valore maggiore di zero.
altezza: rappresenta l’altezza del trapezio e deve essere un valore maggiore di zero.
area: variabile che memorizza il calcolo dell’area del trapezio.
N.B. La variabile base è diversa da BASE.
Quindi non ci resta che costruire il nostro semplice programma in Scratch.
Chiaramente sarebbe utile anche controllare che la BASE sia maggiore di base. Aggiungete pure il controllo e discutiamone nei commenti sotto.
Abbiamo iniziato a programmare con Scratch realizzando, per il momento, dei semplici algoritmi di selezione.
Oggi con Scratch realizzeremo dei semplici algoritmi sequenziali.
Scratch – primo esempio
Supponiamo dunque di avere il seguente problema: la paga di un operaio è di 20,00 € all’ora. Sulla stessa paga viene effettuata una trattenuta pari al 30%. Chiedendo in input il numero delle ore lavorative svolte, visualizzare in output la paga netta.
Innanzitutto scegliamo uno sfondo ed uno sprite qualsiasi, io ad esempio ho scelto questi:
Dopo ci serviranno le seguenti variabili:
ore: per prendere in input il numero di ore svolte;
paga: una costante dove impostiamo il valore 20;
trattenuta: un valore costante che rappresenta la trattenuta che viene applicata sulla paga;
paga_lorda: il calcolo della paga senza la trattenuta;
paga_netta: il calcolo della paga con la trattenuta.
Quindi dopo aver impostato le costanti paga e trattenuta, chiedo di inserire il numero delle ore svolte.
Poi faccio il calcolo della paga lorda e applico la trattenuta, ottenendo così la paga netta. Visualizziamo infine il risultato in output.
Dunque ecco il semplice algoritmo risolto con Scratch:
Chiaramente ci possono essere tante altre soluzioni valide.
Secondo esempio
Proponiamo un altro semplice algoritmo sequenziale con Scratch: una sala cinematografica ha 600 posti dei quali 280 in galleria e il resto in platea. Sapendo che il biglietto in platea costa 9 € e in galleria 3 € in più, calcolare l’incasso in una sera di tutto esaurito.
Scegliamo uno sfondo ed uno sprite a piacere e dopo creiamo le variabili necessarie.
posti_totali: rappresenta i posti totali della sala;
posti_galleria: rappresenta i posti della galleria;
posti_galleria: rappresenta i posti della platea;
p_platea: è il prezzo riservato alla platea;
p_galleria: è il prezzo riservato alla galleria.
Quindi dopo aver impostato i posti totali e i posti della galleria come definito nel problema, ci calcoliamo i posti della platea.
Impostiamo poi il prezzo della platea e ci ricaviamo il prezzo della galleria aggiungendo 3.
Calcoliamo poi l’incasso totale moltiplicando il prezzo per i posti della galleria e il prezzo per i posti della platea.
Visualizziamo infine l’incasso in output.
Ecco quindi l’algoritmo completo risolto con Scratch:
Questi sono solo alcuni semplici esempi con Scratch, più avanti ne proporrò degli altri.
Innanzitutto scegliamo uno sfondo ed uno sprite a piacere.
Dopo creiamo le variabili necessarie, in questo caso i due giocatori: computere utente.
Quindi generiamo un numero a caso e lo memorizziamo nella variabile computer.
Dopo chiediamo all’utente per semplicità di inserire una lettera: s per sasso, f per forbice e c per carta. Quindi salviamo il carattere immesso da tastiera nella variabile utente.
Dopo con l’istruzione se allora altrimenti verifichiamo queste condizioni:
Se il computer ha generato 1 allora alla variabile computer assegniamo la lettera s.
Altrimenti se il computer ha generato 2 allora alla variabile computer assegniamo la lettera c.
Altrimenti alla variabile computerassegniamo la lettera f.
Questo passaggio è fondamentale per semplificare poi i confronti che faremo più avanti.
Adesso non ci resta che impostare le regole del gioco.
Quindi se computer = utente allora si ha la parità in quanto entrambi hanno giocato la stessa cosa.
L’utentevince in questi casi:
se utente= s e computer= f oppure
invece se utente= f e computer= c oppure
infine se utente= c e computer= s
Altrimenti vince il computer.
Ecco dunque il codice completo:
Provate a giocare più partite creando un ciclo che si ripete tante volte quante le partite desiderate. Per chi non sa usare anche i cicli si rimanda alla lezione successiva sui cicli.
In questa lezione realizzeremo il gioco acchiappa i fantasmi con gli elementi che abbiamo appreso nelle precedenti lezioni.
Lo scopo del gioco è molto semplice, il fantasma si sposterà in una posizione a caso dello schermo e l’utente dovrà riuscire a colpirlo cliccandoci sopra. Se riuscirà a colpirlo guadagnerà un punto.
Sviluppo del gioco acchiappa i fantasmi
Iniziamo scegliendo uno sfondo ed uno sprite opportuno per la nostra scena.
Io ad esempio ho scelto lo sfondo Castle5 e lo sprite Ghost:
Adesso realizziamo il codice per far muovere il fantasmino in un punto a caso dello schermo.
Decido anche di fargli cambiare colore, utilizzando un cambia effetto e riduco anche la dimensioneper far si che diventi più difficile acchiapparlo.
Acchiappa i fantasmi – Procedimento
Utilizziamo innanzitutto il blocco di inizio, quando si clicca sulla bandiera verde, e dopo averlo trascinato nell’area di lavoro, andiamo su variabili. In quest’area creiamo una variabile di nome punteggio e trasciniamo il blocco porta punteggio a 0, sotto il blocco inizio.
Dopo andiamo su aspetto e scegliamo cambia effetto colore di … ed inseriamo il valore 250.
Poi diminuiamo la dimensione portandola al 50%, per rendere un pò più difficile acchiappare il fantasma.
Infine andiamo su controllo e inseriamo un blocco ripeti per sempre. All’interno di questo blocco inseriamo attendi 0.7 secondi (chiaramente potete decidere voi il tempo) e andando su movimentoaggiungiamo anche il blocco raggiungi posizione a caso.
Adesso facciamo in modo che quando colpiremo il fantasma la variabile punteggi si incrementerà di 1 e il fantasma emetterà il suono space ripple.
Quindi i passi da seguire sono questi:
Innanzitutto inseriamo il blocco di inizio quando si clicca su questo sprite.
Dopo andiamo nella sezione variabili e trasciniamo il blocco cambia punteggio di 1. Questo blocco consentirà di incrementare di 1 ogni volta la variabile punteggio quando si farà clic sullo sprite.
Poi andiamo nella sezione suono e selezioniamo il blocco riproduci suono space ripple e attendi la fine.
Infine inseriamo il blocco ferma questo script.
Se clicchiamo sulla bandiera verde il gioco è già pronto ed ogni volta che colpiremo il fantasma il punteggio si incrementerà di 1.
Cambio costume del fantasma
Potremmo anche fare in modo che il fantasma cambi costume. Aggiungiamo quindi un semplice blocco di codice come questo:
Ed ecco come, già con pochissimi elementi, siamo riusciti a realizzare il gioco acchiappa i fantasmi.
Più avanti lo modificheremo per introdurre nuovi elementi.
In questa lezione impareremo ad utilizzare Scratch per creare un semplice e divertente quiz a premi.
Ipotizziamo di fare 5 domande ad un utente. Ad ogni punteggio ottenuto superiore o uguale a 3 si stabilisce un premio diverso.
Domande per quiz a premi
Potete personalizzare il quiz con le domande che preferite. Io ho inserito queste:
Prima domanda: Quanto misura un angolo giro? A) 360° B) 90° C) 45° D) 180° Risposta corretta A) 360°
Seconda domanda: Quali pianeti hanno una consistenza gassosa? A) Mercurio e Venere B) Giove e Saturno C) Terra e Marte D) Urano e Nettuno Risposta corretta: D) Urano e Nettuno
Terza domanda: I vegetali sono considerati produttori perché producono? A) Il nettare utile agli insetti B) L’erba per le mucche C) I frutti per gli uomini D) Il cibo per se Risposta corretta: D) Il cibo per se
Quarta domanda:L’era glaciale è stata un’era in cui: A) La maggior parte del nostro pianeta si ricoprì di ghiaccio B) Si sciolsero le calotte polari C) Tutto il pianeta si ricoprì completamente di ghiaccio Risposta corretta: A) La maggior parte del nostro pianeta si ricoprì di ghiaccio
Quinta domanda: I sette colli di Roma sono di origine: A) Tettonica B) Vulcanica C) Strutturale D) Morenica Risposta corretta: B) Vulcanica
Procedimento quiz a premi con Scratch
Innanzitutto scegliamo lo sfondo e gli sprite:
Poi creiamo le due variabili necessarie:
puntiper calcolare il punteggio finale;
rispostaper memorizzare la risposta a ciascuna domanda.
Ecco come deve essere il gioco del quiz a premi ideato in questa lezione. Come risposta inserite le lettere A, B, C o D: