Coding Natale

Coding Natale

Coding Natale – In questa lezione svilupperemo una semplice animazione in Scratch per augurare Buon Natale!

Utilizziamo una poesia di Madre Teresa di Calcutta.

È Natale ogni volta
che sorridi a un fratello
e gli tendi la mano.
È Natale ogni volta
che rimani in silenzio
per ascoltare l’altro.
È Natale ogni volta
che non accetti quei principi
che relegano gli oppressi
ai margini della società.
È Natale ogni volta
che speri con quelli che disperano
nella povertà fisica e spirituale.
È Natale ogni volta
che riconosci con umiltà
i tuoi limiti e la tua debolezza.
È Natale ogni volta
che permetti al Signore
di rinascere per donarlo agli altri.

Coding Natale con Scratch

Ecco la semplice animazione creata con Scratch.

Sviluppo del codice con Scratch

Per lo sviluppo dell’esempio ‘coding di Natale con Scratch’ utilizzeremo principalmente la tecnica dello scambio dei messaggi.

Infatti grazie a questa tecnica posso gestire la tempistica dei messaggi che ciascun personaggio recita.

Creare la scena

Prepariamo la scena inserendo lo sfondo e gli sprite necessari.

sfondo Natale

Scuriamo un pò il paesaggio utilizzando il riempimento.

Dopo inseriamo gli sprite:

Avery, Dani, Star e Heart.

Poi duplichiamo Dani altre due volte e ogni volta scegliamo un costume diverso.

sprite scratch

Aggiungiamo un’animazione alla stella prima di duplicarla.

Clicchiamo sullo sprite stella e lo rimpiccioliamo, scegliendo come dimensione 40.

Dopo clicchiamo su costumi. Quindi con il tasto destro scegliamo duplica in modo da ottenere un secondo costume che poi andremo a modificare, come da figura sotto.

star scratch

Modifichiamo dunque la seconda stella semplicemente ruotandola di poco, tramite la freccia di rotazione che compare in basso dopo averla selezionata, come da figura sotto.

stella scratch

Quindi inseriamo il seguente codice per creare una semplice animazione.

Innanzitutto scegliamo quando si clicca sulla bandierina verde e poi inseriamo subito dopo un ciclo per sempre. All’interno del ciclo ripetiamo le seguenti istruzioni:

1. Passa al costume star

2. Attendi 0.5 secondi

3. Passa al costume star2

4. Attendi 0.5 secondi

Come da figura sotto:

coding con scratch

Adesso duplicate le stelle quante volte desiderate.

Svilupperemo il resto del codice gestendo i messaggi.

Quindi facciamo parlare per prima Avery che, dopo un messaggio introduttivo, invia a tutti messaggio1, che rappresenta il via per un altro sprite.

Infatti facciamo partire Dani3 (scegliete pure uno sprite qualunque dal quale iniziare la poesia) quando riceverà messaggio1.

Dani3 una volta terminato il messaggio a sua volta invia a tutti messaggio2 che viene intercettato da un altro sprite, ad esempio Dani2 che farà lo stesso dopo aver terminato di recitare.

Codice Personaggi

Ecco dunque di seguito il codice di ciascun personaggio. Partiamo da Avery:

codice su Avery

Il codice su Dani:

codice su Dani1

Codice su Dani2:

codice su Dani2

Codice su Dani3:

codice su Dani3

Abbiamo inserito il codice nascondi perché al termine facciamo apparire un cuore che a mano a mano si ingrandirà nascondendo i personaggi.

Ecco il codice sul cuore:

cuore coding

Infine creiamo un sottofondo musicale aggiungendo la musica ciclicamente nello sfondo.

suono

Abbiamo sviluppato un semplice esempio di coding con Scratch con il tema del Natale.

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con Algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Scratch esempi di programmazione

Scratch esempi di programmazione

In questa lezione su Scratch esempi di programmazione ci eserciteremo con l’istruzione di selezione e le animazioni dello sfondo e dello sprite.

Scratch esempi di programmazione

Data una temperatura T, visualizzare se si tratta di una temperatura: “sotto zero”, “zero” oppure “sopra lo zero”.

Oltre a realizzare l’algoritmo creiamo anche una semplice animazione con gli sfondi e i costumi dello sprite scelto.

Quindi innanzitutto scegliamo quattro sfondi in Scratch a piacere.

Ad esempio io ho scelto: Blue Sky, Artic, Boardwalk e Slopes.

Aggiungeteli uno alla volta cliccando sull’icona in basso a destra come da figura:

sfondo Scratch esempi di programmazione

Dopo averli inseriti cliccate sulla linguetta sfondi in alto a sinistra:

sfondi scratch

Dovreste avere questi 4 sfondi come da figura (se è presente lo sfondo bianco cancellatelo).

Dopo scegliamo uno sprite con dei costumi in modo da poterli cambiare durante l’esecuzione del nostro semplice programma. Io ad esempio ho scelto Giga.

giga scratch


Scratch esempi di programmazione – Sviluppo del codice

Adesso cominciamo ad aggiungere i nostri blocchi allo sprite selezionato.

1. Innanzitutto inseriamo il blocco quando si clicca sulla bandierina verde.

2. Dopo impostiamo il costume e lo sfondo di partenza. Quindi andiamo su Aspetto e scegliamo passa al costume giga-b e anche passa allo sfondo Blue Sky.

3. Dopo chiediamo in input la temperatura e la memorizziamo nella variabile temperatura.

4. Adesso facciamo i confronti. Andiamo dunque su controllo e scegliamo il blocco se allora altrimenti.

5. All’interno dello spazio vuoto trasciniamo il blocco esagonale con il simbolo maggiore e impostiamo la prima condizione: temperatura maggiore di 0. Se la condizione è vera allora scegliamo di fare le seguenti operazioni:

– andiamo su Aspetto e innanzitutto scegliamo il blocco dire per visualizzare in output il messaggio ‘la temperatura è maggiore di 0 ‘. Dopo cambiamo il costume a giga-c e infine passiamo allo sfondo Boardwalk.

Se invece la condizione è falsa allora controlliamo con un altro blocco se allora altrimenti che la temperatura sia minore di zero e se tale condizione è vera:

– andiamo su Aspetto e scegliamo il blocco dire per visualizzare in output il messaggio ‘la temperatura è minore di 0 ‘. Dopo cambiamo il costume a giga-d e infine passiamo allo sfondo Artic.

Altrimenti, l’unica opzione rimasta è che la temperatura sia uguale a zero. Facciamo senza ad inserire dunque un altro se e invece eseguiamo le seguenti operazioni:

– andiamo su Aspetto e scegliamo il  blocco dire per visualizzare in output il messaggio ‘la temperatura è uguale a 0 ‘. Dopo cambiamo il costume a giga-a e infine passiamo allo sfondo Slopes.

6. Inseriamo il blocco Ferma tutto.

 

temperatura scratch

In questa sezione ‘Scratch esempi di programmazione’ abbiamo affrontato un semplice esempio.

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con Algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Sviluppo con Algobuild della successione di Fibonacci

Programmare con Scratch

Programmare con Scratch

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.

sfondo area

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.

programmare area

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 area triangolo

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.

calcolo area trapezio

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.

Alcuni link utili

Indice tutorial scratch 3.0

Indice argomenti scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Sviluppo con Algobuild della successione di Fibonacci

Scratch

Scratch

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:

sfondo

Dopo ci serviranno le seguenti variabili:

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:

paga netta 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.

variabili Scratch

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:

sala cinematografica

Questi sono solo alcuni semplici esempi con Scratch, più avanti ne proporrò degli altri.

Alcuni link utili

Indice tutorial scratch 3.0

Download Scratch 3

Indice argomenti

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Sviluppo con Algobuild della successione di Fibonacci

Morra cinese con Scratch 3

Morra cinese con Scratch 3

In questa lezione proponiamo il gioco della morra cinese con Scratch 3.


Come si gioca a morra cinese?

Gli strumenti utilizzati sono le mani dei giocatori e ciascun giocatore può scegliere un oggetto: forbice (f), sasso (s) o carta (c).

– Il Sasso, si rappresenta con la mano a pugno;

– La Carta, si rappresenta con la mano aperta;

– Le Forbici, si rappresentano con soli indice e medio distesi.


Se si gioca lo stesso simbolo si è in parità, altrimenti:

Il sasso batte la forbice, cioè la rompe;

La forbice batte la carta, cioè la taglia;

La carta batte il sasso, cioè lo avvolge.


Esempio del gioco della morra cinese con Scratch 3

Procedimento del gioco della Morra Cinese

Innanzitutto scegliamo uno sfondo ed uno sprite a piacere.

Dopo creiamo le variabili necessarie, in questo caso i due giocatori: computer e utente.

variabili morra cinese

Quindi generiamo un numero a caso e lo memorizziamo nella variabile computer.

random morra

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.

gioco scratch

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 computer assegniamo la lettera f.

Questo passaggio è fondamentale per semplificare poi i confronti che faremo più avanti.

morra cinese

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’utente vince 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:

script 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.

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Acchiappa i fantasmi

Acchiappa i fantasmi

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:

sfondo fantasmi scratch

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 dimensione per 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 movimento aggiungiamo anche il blocco raggiungi posizione a caso.

script fantasma

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.

suono

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:

cambio costume fantasma

Ed ecco come, già con pochissimi elementi, siamo riusciti a realizzare il gioco acchiappa i fantasmi.

Più avanti lo modificheremo per introdurre nuovi elementi.

Alcuni link utili

Indice tutorial scratch 3.0

Indice argomenti scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Sviluppo con Algobuild della successione di Fibonacci