Squalo mangia pesci in Scratch

Squalo mangia pesci in Scratch

Creiamo adesso un gioco in Scratch dove lo squalo mangia dei pesci e guadagna punti, ma attenzione se tocca il granchio perde una vita.

Istruzioni

Forniamo ad esempio le seguenti istruzioni:

  • Ogni volta che lo squalo mangia Fish1 o Fish3 o Fish5 guadagna 5 punti
  • Se mangia Octopus guadagna 10 punti
  • Se invece mangia la stella marina guadagna 20 punti
  • Ogni volta che lo squalo toccherà il granchio (crab) perderà una vita
Sprite pesci scratch

Chiaramente si possono aggiungere tanti altri pesci!

Procedimento

Per prima cosa ho scelto lo sfondo dell’acquario che è presente in Scratch e ho aggiunto i pesci e lo squalo.
Ho fatto in modo di far apparire le istruzioni del gioco per spiegare al giocatore come funziona.

Quindi ho creato il seguente sprite:

istruzioni gioco squalo mangia pesci in scratch

Quando si preme lo spazio verrà mandato il messaggio di inizio gioco che farà partire il tutto. Di seguito lo script associato allo sprite sopra:

inizio gioco squalo mangia pesci

Ho poi creato gli script per i pesci facendoli muovere da una parte all’altra. Gli script per fish1, fish3 e fish5 sono uguali, ho solo fatto variare le coordinate di partenza.

quando lo squalo mangi ai pesci

Dopo ho creato lo script per il polpo (octopus), facendolo muovere solo lungo l’asse delle y e facendogli cambiare costume.

squalo mangia il polpo

Poi ho creato lo script per la stella marina, facendola scomparire per 12 secondi dopo che viene mangiato dallo squalo.

script stella marina

Ci rimane adesso lo script per lo squalo che si muoverà grazie all’uso delle frecce direzionali. Ho fatto in modo che ogni 0.1 secondi cambiasse costume spalancando la bocca per mangiare i pesciolini. Le vite diminuiscono ogni volta che tocca il granchio (crab) e infine passa al costume shark-c che lo rappresenta sfinito!!

crab in scratch

Infine ho inserito i due script game over e vittoria!

game over in scratch
vittoria in scratch

Chiaramente, questa è solo una base di partenza, potete personalizzarlo come meglio credete.

Per chi volesse scaricare il file completo di Scratch, può cliccare sotto:

download gioco squalo che mangia pesci in Scratch

Link utili:

Gioco del pong

Gioco del labirinto

Rana che salta

Equazioni di primo grado in Scratch

Equazioni di primo grado in Scratch

Oggi realizzeremo un semplice script che ci permetterà di risolvere le equazioni di primo grado in Scratch.

Partiamo dando una definizione.

Si dice equazione una uguaglianza tra due espressioni che si verifica solo per particolari valori assegnati alle variabili dette incognite in essa contenute.

Le equazioni di primo grado sono equazioni in cui l’incognita è elevata all’esponente 1.

Le equazioni di primo grado sono dunque quelle espresse ad esempio nella forma:

ax+b=0

Facciamo un esempio banale:

4x+8=0 è un’equazione di primo grado

4x2+8=0 non è ovviamente di primo grado

Algoritmo in Scratch per il calcolo delle equazioni di primo grado.

Realizziamo adesso il nostro algoritmo.
Prendiamo in input a, ovvero il coefficiente del termine di primo grado e b, il termine noto.

Dobbiamo calcolare il valore della nostra incognita x che facendo un semplice passaggio sarà:

ax+b=0 da cui ax=-b e da qui si ricava x=-b/a

È necessario fare un controllo sulle due variabili a e b perché se sono entrambe uguali a zero la nostra equazione è indeterminata, invece se solo la variabile a è uguale a zero l’equazione è impossibile, in quanto dovremmo dividere per zero.

Se una delle condizioni sopra non si verifica allora posso risolvere la mia equazione.
Infatti, anche se b fosse uguale a zero l’equazione si potrebbe risolvere, in questo caso la nostra x sarebbe uguale a zero.


Esempio:

Se ho questa equazione:

7x+5=0 la nostra x sarà uguale a 0,714528…

Sarebbe preferibile arrotondare il risultato a 0,714.

Ma la funzione arrotonda di Scratch porterebbe la variabile x a 1.

Con il semplice metodo che ho utilizzato invece ottengo un valore approssimato a 0,714. Come ho fatto?

Premettendo che è possibile trovare altre soluzioni, io ho agito in questo modo.

Ho creato una variabile che ho chiamato approssimazione per gestire l’arrotondamento. Dopo ho moltiplicato arrotonda di x per 1000 così da avere 714 e poi per avere come risultato 0,714 chiaramente ho diviso per 1000.

Allego lo script completo per il calcolo delle equazioni di primo grado in Scratch.

equazione scratch

Potremmo anche pensare ad una soluzione che richieda di inserire nuovamente la variabile a se si inserisce da tastiera un valore uguale a zero.
Nei linguaggi di programmazione userei ad esempio il ciclo do-while.

Ecco quindi un’altra possibile soluzione nella quale chiedo l’inserimento di entrambi a e b, ma potrei chiedere anche solo a.

equazioni scratch

Chiaramente proponete pure la vostra soluzione nei commenti al fine di confrontarci.

Alcuni link utili

Disegnare poligoni regolari in scratch

Numeri primi in Scratch

La successione di Fibonacci in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch


Disegnare poligoni regolari con scratch

Disegnare poligoni regolari con scratch

Vediamo un algoritmo utile a disegnare poligoni regolari con Scratch.

L’obiettivo è quello di prendere il numero dei lati in input e in base alla risposta disegnare un poligono regolare.

Esempio:

Se prendo in input il numero 4 disegnerò un quadrato.

Se invece prendo in input il numero 6 disegnerò un esagono e così via.

Cosa utilizzeremo per disegnare i poligoni con Scratch?

Utilizzeremo lo strumento penna. Infatti, la penna è uno strumento utilissimo di Scratch se si vuole disegnare qualcosa.

Algoritmo per disegnare poligoni regolari con Scratch

disegnare poligoni in scratch

Prepariamo la nostra scena scegliendo uno stage (io ho messo semplicemente del colore) e lo sprite (il gattino è lo sprite di default).
Dunque posizioniamo lo sprite in alto al centro in modo tale da avere lo spazio necessario per disegnare il nostro poligono regolare. Io ho messo come coordinate (x, y) 0 e 120.

Chiediamo quanti lati ha il nostro poligono e memorizziamo la risposta in una variabile che chiamiamo ad esempio lati.

Usiamo la penna giù (ricordiamo che di default la penna è sempre su, se vogliamo disegnare dobbiamo impostare penna giù) di un colore e spessore a nostra scelta per poter disegnare il nostro poligono.

Dopodiché realizziamo il nostro ciclo che permetterà al gattino di disegnare il poligono regolare. Il ciclo verrà ripetuto tante volte quanti sono i lati.


Ma di quanto dovrà ruotare il gattino?

Ricordiamo che i poligoni regolari hanno i lati uguali, gli angoli interni uguali e anche gli angoli esterni sono uguali.

La somma degli angoli esterni di un poligono regolare è un angolo giro ovvero 360 gradi.

Per cui l’angolo di rotazione della direzione di avanzamento, che il gattino deve eseguire, è pari a 360/lati.

La rotazione deve avvenire sempre con lo stesso angolo.

Quindi nel caso del quadrato dovrà ruotare di 360/4 ovvero 90 gradi. Nel caso di un esagono dovrà ruotare di 360/6 ovvero 60 gradi e così via.

I passi che dovrà compiere lo sprite sono sempre gli stessi proprio perché trattasi di un poligono regolare.

Ecco il semplice script che ho realizzato.

script poligoni scratch

Chiaramente ci possono essere tanti altri modi per realizzare questo algoritmo, proponete pure la vostra nei commenti sotto.

Alcuni link utili

Numeri primi in Scratch

La successione di Fibonacci in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Successione di Fibonacci con Scratch

Successione di Fibonacci con Scratch

Esempio di programma che visualizza la successione di Fibonacci con Scratch.

Ricordiamo che la successione di Fibonacci è una successione di numeri interi positivi in cui ciascun numero a cominciare dal terzo è la somma dei due precedenti e i primi due sono 1, 1.

Ad esempio se N=9 avremo i seguenti termini 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34.

Esempio di successione di Fibonacci con Scratch

Con Scratch è possibile realizzare un algoritmo che riesce a calcolare gli N termini della successione.

Per svilupparlo prendiamo uno sprite qualsiasi, ad esempio il gattino classico di Scratch e gli facciamo dire un messaggio del tipo: “Salve! Creiamo insieme la successione di Fibonacci”.

Successivamente chiediamo quanti termini della successione di Fibonacci visualizzare.

Permettiamo l’inserimento di valori per N maggiori di 1, in modo da visualizzare almeno due termini della successione di Fibonacci.

Per sviluppare questo controllo in Scratch inseriamo un ripeti fino a quando N è maggiore di 1, in questo modo se viene inserito un numero negativo si richiede nuovamente l’inserimento.

fibonacci in scratch

Creiamo poi due variabili di nome primo e secondo che rappresentano i primi due termini della successione di Fibonacci. Settiamo le due variabili appena create a 1 e le visualizziamo in output.

Dopo creiamo una variabile contatore che facciamo partire da 2 in quanto i primi due termini della successione sono stati già visualizzati.

Realizziamo dunque un ciclo che si ripete fino a quando il contatore (che abbiamo detto parte da due) raggiunge N e calcoliamo all’interno del ciclo il terzo numero della successione di Fibonacci. Creiamo quindi una variabile terzo che poniamo uguale alla somma di primo più secondo.

Scambiamo poi le variabili ponendo primo uguale a secondo e secondo uguale a terzo.

Di seguito l’algoritmo completo con Scratch:

 

Fibonacci Scratch

Non ci resta che avviare il programma e provarlo!

Chiaramente ci possono essere tante altre soluzioni per la realizzazione dell’algoritmo. Proponete pure la vostra nei commenti sotto.

Alcuni link utili:

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

Massimo tra N numeri con Scratch

Massimo tra N numeri con Scratch

Realizziamo un programma che calcoli il massimo tra N numeri in Scratch.
Ovvero dati N numeri determinare il maggiore.

Definizione di massimo

Il valore massimo, molte volte detto semplicemente max, è il valore più grande tra una serie di numeri.

Procedimento dell’algoritmo che calcola il massimo tra N numeri con Scratch

Primo procedimento con ripeti N volte

Per sviluppare l’algoritmo utilizzeremo due variabili: N e Max.

Quindi, chiediamo quanti numeri vogliamo inserire e memorizziamo il risultato in N.

Dopo chiediamo il primo numero e lo memorizziamo nella variabile Max. Quindi, dato che abbiamo chiesto un numero adesso ne dovrò inserire N-1.

Poniamo N uguale ad N-1.

Realizziamo poi un ciclo che per N volte chiede di inserire dei numeri. All’interno del ciclo ciascun numero verrà confrontato con il MAX e se è maggiore la variabile Max assumerà il valore di quel numero.

script max n numeri

Abbiamo così realizzato l’algoritmo che calcola il massimo tra N numeri in Scratch.

Questa soluzione è stata realizzata utilizzando ripeti N volte e quindi non è servito il contatore.

Ma realizziamo anche una soluzione che invece utilizzi il ciclo ripeti fino a quando.

Secondo procedimento dell’algoritmo che calcola il massimo tra N numeri con Scratch

Seconda soluzione con l’utilizzo di ripeti fino a quando

Per realizzare questa soluzione servono tre variabili:

N che indica quanti numeri vogliamo inserire;

La variabile Max che conterrà il valore massimo;

La variabile contatore che terrà traccia dei numeri inseriti.

Quindi chiediamo quanti numeri vogliamo inserire e memorizziamo il valore nella variabile N.

Dopo, come abbiamo fatto prima, chiediamo il primo numero e lo memorizziamo in Max.

Facciamo partire la variabile contatore da N-1 perché abbiamo già inserito un elemento, allo scopo di decrementarla ogni volta che si inserisce un numero.

Quindi realizziamo un ciclo che si fermerà quando il valore di contatore raggiungerà zero, ovvero quando si inseriranno tutti i numeri.

All’interno del ciclo, come abbiamo fatto prima, confrontiamo i valori inseriti con Max e ne sostituiamo il valore solo nel caso in cui N è maggiore del Max.
Dobbiamo anche decrementare il contatore di 1. Se dimenticheremo di farlo il ciclo infatti diventerebbe infinito.

Ecco lo script completo.

massimo in scratch

Chiaramente l’algoritmo può essere ampliato con tanto altro, ad esempio si potrebbe inserire un controllo dell’input.

Molte volte si vedono alcuni algoritmi risolti assegnando max=0 invece di chiedere il primo numero. A mio avviso non è molto corretta in quanto se ad esempio si presenta il caso in cui tutti i numeri inseriti sono dei numeri negativi il massimo risulterà essere 0!


Alcuni link utili

Numeri primi in Scratch

La successione di Fibonacci in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti

Numeri amicabili

Minimo fra tre numeri in Scratch

Minimo fra tre numeri in Scratch

Vediamo adesso come realizzare un algoritmo che calcoli il minimo fra tre numeri in Scratch.

Il procedimento che adotteremo sarà quello che abbiamo già utilizzato nella ricerca del massimo fra tre numeri.

Definizione di minimo

Il valore minimo non è altro che il valore più piccolo tra un insieme di numeri.

Procedimento

Per sviluppare l’algoritmo creiamo 4 variabili come in figura:

minimo scratch

Le variabili posso chiamarle ad esempio A, B, C e minimo.

Successivamente sviluppo lo script, chiedendo in input i tre numeri A, B, C.

Assegno al minimo il primo valore, ovvero A.

Dopo confronto il secondo numero con B. Se B è minore assegno al minimo il valore di B.

Poi vado avanti e confronto C con il minimo. Se C è più piccolo assegno al minimo il valore di C.

script minimo tra tre numeri


Alla fine dirò qual è il minimo fra tre numeri e si fermerà lo script.

Esempio Minimo fra tre numeri in Scratch

Se provo ad inserire ad esempio questi numeri:

A=4

B=8

C=2

Si avranno questi passaggi:

All’inizio al minimo viene assegnato il valore di A.

Quindi minimo=4

Poi si controllerà se B è più piccolo del minimo.
In questo caso ci chiediamo 8 è minore di 4? Non lo è, quindi andiamo avanti.
Dunque adesso controlleremo se C è più piccolo del minimo.
In questo caso ci chiediamo 2 è minore di 4? Lo è quindi assegniamo al minimo il valore di C.

Dunque minimo=2

Alla fine il programma terminerà dicendo: il minimo è 2.


In Scratch ci possono essere tante altre soluzioni che possono risolvere questo algoritmo che calcola il minimo tra tre numeri.
Provate anche voi a sviluppare una soluzione a aggiungetela nei commenti sotto!

Numeri primi in Scratch

La successione di Fibonacci in Scratch

Massimo fra tre numeri in Scratch

Massimo tra n numeri in Scratch

Numeri perfetti

Numeri amicabili