Categorie
Scratch

Movimento di uno sprite con uso delle frecce della tastiera

La signorina Avery si muove utilizzando le frecce della tastiera (modo semplice)

Il movimento di uno sprite (sinistra, destra, su e giù) si può ottenere anche con il seguente programma (con ciclo condizionale -metodo avanzato):

Triscia è vista dall’alto e quindi ha senso il movimento nelle quattro direzioni dello spazio (sinistra e destra, su e giù)

Categorie
Coding Scratch

Programma PONG

Prerequisiti
Saper muovere uno sprite con le frecce della tastiera.

Esercizio Il classico gioco del ping pong. Occorre colpire con la racchetta (che si muove con le frecce della tastiera) una palla da tennis evitando che vada a colpire la linea (verde) di fondo, se questo accade il gioco termina.

Concetti di programmazione veicolati
Movimento attraverso lo studio delle coordinate spaziali, cicli condizionali.

Per capire come viene generato casualmente l’angolo direzionale della pallina alla partenza e quando urta la paletta occorre fare riferimento al seguente schema. Mediante la generazione di un numero casuale è possibile ottenere quindi la direzione con cui dovrà muoversi la
pallina.

Il movimento della racchetta sinistra-destra si può fare nel modo tradizionale visto oppure con un ciclo per sempre per dare al movimento maggiore fluidità.

Il programma della pallina è il seguente:

Per la gestione della velocità è stato necessario creare una variabile “velocità” che all’inzio vale 10 (passi) ma dopo un certo tempo (10 s) aumenta per rendere il gioco più divertente!

Arrotonda-cronometro è per avere un punteggio legato al tempo come numero intero e non decimale perchè l’orologio del computer ha una precisione del millesimo di secondo (ad es. 4,534).

Categorie
Coding Scratch

Somma di due numeri

Per gestire più valori (numerici o testuali) occorre inserire una o più variabili dal menù variabili. L’uso delle variabili è fondamentale nella programmazione.

Categorie
Scratch

Dialogo con Scratch

Classi prime

Categorie
Coding Scratch

Scratch si muove con le frecce della tastiera

Muovendo le frecce della tastiera (freccia sinistra e freccia destra) scratch camminerà a sinistra e a destra.

Categorie
Scratch

Salvaschermo “l’acquario”

Programma di uno sprite (pesce) che ha differenti costumi relativi a personaggi diversi (senza movimento)
Programma di uno sprite che ha differenti costumi relativi allo stesso personaggio (con movimento)
Categorie
Coding Intelligenza artificiale

Programma AI riconoscimento facciale

Il colpo di sonno è una delle più frequenti cause di incidenti stradali. Perché non costruire un app che mi avverta quando i miei occhi si chiudono al volante?

Questo programma con Scratch riconosce con l’intelligenza artificiale se la nostra faccia inquadrata da una telecamera (per esempio quella di un auto o del nostro PC) ha gli occhi aperti (sveglio) o gli occhi chiusi (colpo di sonno).

Utilizziamo come sempre il https://machinelearningforkids.co.uk/

entriamo con il nostro account e creiamo il progetto “stai sveglio” con riconoscimento immagini.

Clicco su addestramento e carico molte immagini con occhi aperti e poi con occhi chiusi. E’ maglio caricare anche qualche nostra immagine per facilitare l’addestramento.

Dopo avere inserito le immagini clicco su addestra e addestra modello e dopo un po’ di tempo il modello viene generato e si può testare: clicca prova con webcam e posizionati alla distanza corretta e vedrai che quando chiudi gli occhi e scatti la foto il modello restituisce “occhi chiusi” con una percentuale che varia. Se la percentuale è maggiore del 60-70% significa che il modello funziona! Stessa cosa per occhi “aperti”.

Passiamo alla programmazione con Scratch cliccando Programma e poi su Scratch3.0

Il modello di Machine Learning genera un menu con alcuni nuovi blocchi.

Inseriamo uno sprite con due costumi (semaforo verde, semaforo rosso). Questo semplice programma è in grado di riconoscere, dopo aver cliccato sulla bandierina che attiva la camera del PC, se la nostra faccia ha gli occhi aperti o chiusi! Se sono chiusi semaforo rosso ( o potete inserire un segnale acustico “sveglia”) se sono aperti …tutto ok semaforo verde!

Categorie
Scratch

Quiz con Scratch (con punteggio)

Progettare un quiz utilizzando “chiedere” e la variabile “risposta”. Il controllo è fatto attraverso la condizione del comando “se-allora-altrimenti”

Categorie
Coding Intelligenza artificiale

Coding con Scratch -Intelligenza artificiale

Programma di base: se rispondi con “sei bello” la faccina ride. Diversamente è triste. Se sbaglio a digitare o uso un superlativo (ad esempio “sei bellissimo”) non comprende ed è ugualmente triste. E’ un programma NON intelligente.

Creiamo un modello di machine learning con https://machinelearningforkids.co.uk/

Addestriamo il modello inserendo alcune “parole” o frasi che rendono felice la faccina e alcune che la rendono triste (vedi sotto)

Facciamo girare (addestriamo) il modello con “Impara” e poi lo testiamo con “testa”. Infine modifichiamo il modello in Scratch 3.0 cliccando su programma in modo da inserire i blocchi di machine learning appena creati e presenti nell’interfaccia di Scratch (in basso a sinistra)

Proviamo ora a rispondere a “dimmi qualcosa” e vediamo che il programma è diventato super intelligente! Sei brillante e la faccina sorride. Sei orrrrrrrrrribile e anche se formalmente è scritto con un errore .. è triste!.

Categorie
Coding Scratch

Programma poligoni

È possibile insegnare al computer a disegnare una figura geometrica? Magari un esagono regolare come quello che facciamo con il compasso?

Non solo è possibile ma è anche abbastanza semplice!

Dobbiamo però attivare in Scratch l’estensione “penna”

andando a cliccare sul “+” in basso a sinistra (vedi immagine sotto)

Aggiungere un’estensione

L’algoritmo base per creare un QUADRATO ad esempio è il seguente

Dobbiamo utilizzare una rotazione in senso orario o anti-orario pari all’angolo esterno di un poligono

Angolo Esterno=360°/N

dove N è il numero dei lati (o degli angoli) del poligono che si vuole disegnare. Per il quadrato N=4 e quindi 360/4=90 ma questo è ovvio se ci pensiamo no? Un quadrato ha angoli di 90°…ci mancherebbe altro!

Per un esagono invece Angolo Esterno= 360/6=60°

Approfondimento sugli angoli esterni di un poligono: Se componiamo gli angoli esterni al centro otteniamo 360° come è abbastanza chiaro dalle immagini che seguono

Per le gif animate, trovate in rete, si ringrazia il sito matematichiamoblog

Questo programma genera un poligono qualsiasi.

Chiede in ingresso il numero dei lati e la dimensione del lato.