In questo tutorial vediamo come realizzare il gioco “Sam l’acchiappa stelle“!

Per prima cosa apriamo Scratch, e anziché usare il solito gattone arancione andiamo a scegliere uno sprite più adatto per lo spazio! Scegliamo “Tera”, che d’ora in avanti chiameremo “Sam”!

 

 

A questo punto scegliamo lo sprite che più ci piace. Noi sceglieremo “Tera”!

 

 

Cancelliamo il gatto Scratch dal nostro spazio di lavoro: ci basterà cliccarci sopra col tasto destro del mouse e premere poi su “cancella”.

 

A questo punto facciamo un click col tasto destro del mouse su “Tera”, e tramite il menù Info impostiamo il nome che più ci piace. Noi sceglieremo “Sam”!

 

 

Ottimo! Giunti a questo punto ci interessa programmare Sam in modo che si muova tramite l’uso delle frecce della nostra tastiera. Cominciamo a prendere il comando più importante, ovvero quello che fa partire tutto il nostro gioco: “quando si clicca sulla bandierina verde”, che trovate sotto “Situazioni“. Selezioniamolo e trasciniamolo nell’area di lavoro.

 

 

A questo punto dobbiamo programmare il movimento. Utilizzeremo l’importantissimo blocco “se – allora“, che troviamo sotto “Controllo“. Vogliamo stabilire che se premiamo la freccia a destra allora Sam si sposterà di qualche passo verso destra. Portiamoci nell’area di lavoro il blocco “se – allora” e riempiamo lo spazio vuoto con “tasto spazio premuto” che trovate sotto “Sensori“.

 

 

Spostiamoci nella sezione “Movimento” per scegliere il blocco “fai 10 passi“. Incastriamolo dentro il “se – allora” così:

 

 

Quello che vorremmo fare ora è programmare il movimento a sinistra, se premiamo la freccia a sinistra, e dato che siamo lanciati, anche il movimento verso l’alto se premiamo la freccia verso l’alto, e il movimento verso il basso se premiamo la freccia verso il basso.

Procediamo con il movimento a sinistra. Di nuovo prendiamo un blocco “se – allora” che troviamo sotto “Controllo“. Ripeschiamo un blocco “tasto spazio premuto” che trovate sotto “Sensori” e nella sezione “Movimento” scegliete il blocco “fai 10 passi“. Ovviamente in questo caso, dentro al blocco “tasto spazio premuto” dovremmo impostare “freccia sinistra”.

 

 

Ben fatta! Ci manca un piccolo accorgimento! Se premiamo la “freccia a destra”, il nostro Sam farà 10 passi verso destra, ma se premiamo “freccia a sinistra” vorremmo che il nostro Sam facesse dieci passi in senso contrario! Come possiamo risolvere questa cosa? È facile: basterà aggiungere il segno meno prima del numero 10, proprio così:

 

 

Fantastico! Adesso non ci resta che programmare il movimento verso l’alto e quello verso il basso! Siccome stiamo diventando dei veri programmatori, non vogliamo fare troppa fatica a rifare tutto! Perciò vi sveliamo un segreto: possiamo duplicare pezzi di codice per averli subito di nuovo disponibili. Per farlo usate il comando “Duplica”, che è quello indicato dalla figura qui sotto, e duplicate il pezzetto di programma che vi interessa.

 

 

Per duplicare il pezzo di codice che vi interessa posizionatevi in cima ad esso e fate click!

 

 

Prepariamoci due copie del codice, che modificheremo per programmare lo spostamento verso l’alto e lo spostamento verso il basso. Attenzione che ora i blocchi blu vanno cambiati. Per farlo possiamo eliminare quelli già presenti: ci basterà trascinarli fuori dal blocco “se – allora” e poi spostarli sopra la colonna centrale. Rilasciando il mouse essi si cancelleranno come per magia!

 

 

Al loro posto useremo il blocco “cambia y di 10” che troviamo sotto la sezione “Movimento“.

 

 

Anche qui attenzione: quando vogliamo che Sam si sposti verso il basso dobbiamo usare il segno meno!

Ci siamo quasi, Sam è pronto per muoversi nello spazio e per andare a caccia di stelle! L’ultima cosa che facciamo è quella di abbracciare tutto il codice con un blocco che ci permette di ripetere i comandi per tutta la durata del nostro gioco. Parliamo del famoso ed importante blocco “per sempre”, che trovate nella sezione “Controllo“. Avviciniamolo al blocco “quando si clicca sulla bandierina verde”  e vedrete che esso abbraccerà tutto il codice che avete già scritto!

 

 

Supersonici! Congratulazioni! Avete appena programmato Sam per spostarsi nello spazio. Non ci credete? Allora provate! Fate un click sulla bandierina verde della colonna di sinistra e provate a usare le frecce per muovere Sam. Funziona? Si muove? Grandi!

 

 

Proseguiamo a programmare il nostro gioco. Carichiamo uno sfondo adatto a Sam: potete caricare un’immagine vostra oppure scegliere tra i tanti sfondi presenti nella libreria di Scratch. Trovate gli sfondi nella sezione evidenziata dal riquadro azzurro. Aggiungete poi lo sprite della stella.

 

 

Programmiamo la stella! Per farlo assicuratevi di averla selezionata nella sezione sprite! Quello che deve fare la stella sono essenzialmente due cose:

  1. Se entra in contatto con Sam deve nascondersi per un po’ di tempo;
  2. Mentre non è in contatto con Sam deve comparire in un punto qualsiasi dello spazio disponibile;

 

Come facciamo a fare questo? Un’idea potrebbe essere la seguente:

 

Con queste tre righe di codice facciamo in modo che la stella si nasconda se viene toccata da Sam. A questo punto dobbiamo dirle di comparire di nuovo in una posizione casuale dello schermo. Per fare questo possiamo usare il comando “vai a x: 10 y:10” che trovate sotto la sezione “Movimento“. Posizioniamo il comando dopo “attendi tre secondi”. Riempiamo il valore di x e di y col comando “numero a caso tra 1 e 10″ che trovate nella sezione “Operatori“. Il blocco che ne esce dovrebbe essere uguale a questo:

 

 

Concludiamo il codice della stella aggiungendo il nostro amato “per sempre“, il comando “mostra” all’inizio per far comparire la stella ogni volta che cominciamo un nuovo gioco, e anche un altro “mostra” alla fine. Non dimenticatevi dell’indispensabile comando “quando si clicca sulla bandierina verde”.

 

 

Provate a vedere se tutto funziona cliccando sulla bandierina verde! Sam riesce ad acchiappare la stella?

Il nostro gioco sta diventando proprio bello, ma è ora di tenere traccia delle volte in cui il nostro Sam acchiappa la stella! Ecco perché adesso aggiungiamo una variabile che chiameremo “Punteggio“. Per farlo, spostiamoci verso la sezione “Variabili e liste” e premiamo su “Crea una nuova variabile”. Diamo a questa variabile il nome “Punteggio“, premiamo su “ok” e lasciamo la spunta su “Per tutti gli sprite” e… come per magia… 

 

 

Ecco che ci compare un riquadro che conterà i nostri punti!

Non ci resta che programmarlo!

Il codice che serve per programmare il punteggio è riportato qui sotto. Poiché avete già una buona esperienza con Scratch, provate a cercare da soli i comandi nelle rispettive sezioni, non dovrebbe essere troppo difficile ora! Nota bene: il codice che segue va inserito all’interno assieme al codice dello sprite Sam!

 

 

Se siete riusciti a costruire questo nuovo codice qui sopra siete a buonissimo punto. Ora Sam avrà due grossi pezzi di codice nella sua area di lavoro, uno che programma il suo movimento, e uno che programma il meccanismo del punteggio. Controllate se il vostro codice è uguale a quello riportato qui sotto, per lo sprite Sam!

 

 

Il vostro gioco ora funziona alla grande! Potete dilettarvi da soli o con i vostri amici! Potete anche fare degli esperimenti: che ne dite, ad esempio, di provare a cambiare il valore del comando “attendi 3 secondi” che abbiamo inserito nel codice della stella? Provate e vedete cosa accade!

 

La cosa bella di Scratch è che si può rendere sempre diverso e sempre più difficile il vostro gioco! Un suggerimento? Che ne dite di inserire un fantasma cattivo che vi rincorre, e che, ogni volta che vi tocca, vi ruba un punto dalla variabile “Punteggio“?

 

Per farlo, scegliamo un nuovo sprite come avevamo fatto all’inizio.

 

Io ho scelto “Ghost2“, perché mi sembra che abbia proprio una faccia da cattivo!

Dopodiché, mi sono posizionato nuovamente su “Sam” e ho scritto questo terzo nuovo pezzo di codice!

 

 

Mentre l’unico codice che dobbiamo inserire nello sprite “Ghost2” è il seguente:

 

Schiacciate adesso la bandierina verde e… preparatevi a scappare, il fantasma è in agguato ed è pronto a rubarvi dei punto ogni volta che lo toccate! Vi lancio una sfida: vediamo chi di voi riesce a superare i 20 punti! Acchiappate la stella, fate presto!

 


Un gioco molto simile a quello esposto qui lo trovate a questo indirizzo, da dove vi sarà forse più agevole guardare il codice premendo il pulsante “Guarda dentro”.

Buon coding!

Categorie: Tutorial

3 commenti

Eneag · 8 aprile 2018 alle 22:24

Volevo solo far notare che nell’ultima immagine del tutorial, dopo la frase “Mentre l’unico codice che dobbiamo inserire nello sprite “Ghost2” è il seguente:” vi è l’immagine del codice di Sam invede di un codice di movimento del fantasma.

    CoderDojoAdmin · 10 aprile 2018 alle 22:34

    Hai assolutamente ragione! Errore nostro, ma dovremmo aver corretto! 😉
    Grazie
    Staff

CoderDojo: tra il pensiero algoritmico e il lavorare in team – Atelier Creativo IC Casarsa · 8 aprile 2018 alle 23:12

[…] Puoi rifare l’intero progetto che abbiamo sviluppato durante il CoderDojo seguendo la guida del gioco “Sam l’acchiappa stelle” che i ragazzi di CoderDojoFVG hanno pubblicato nel loro sito! […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *