francesco la vella

[Scratch 3] Pesce Mangione

23 Jan 2019 tarihinde yayınlandı.

[Scratch 3] Pesce Mangione

Introduzione

In questo esercizio creiamo un gioco in cui un grande pesce affamato dovrà mangiare tutte le prede che gli nuotano attorno.

Pesce Mangione

img

Passo 1: Crea uno sprite che segue il mouse

Facciamo nuotare il Pesce Mangione nel mare!

Lista delle Attività

SALVA IL TUO PROGETTO

  • Crea un nuovo progetto Scratch. Rimuovi il gatto Felix con click sulla x.
  • Prima di tutto aggiungiamo uno sfondo. Nel tab Sfondi aggiungi un nuovo sfondo. Fai click su Scegli uno sfondo dalla libreria. Seleziona underwater1 dalla categoria Fondo del Mare. Cancella lo sfondo originale.
  • Adesso aggiungi uno sprite dalla Libreria e scegli Shark2-a e rinominiamolo pesce a bocca aperta Chiamalo pesce-mangione
  • Nel tag Direzione assicurati che il pesce abbia uno stile di rotazione uguale a sinistra-destra
  • Adesso aggiungi un Costumo allo Sprite dalla Libreria e scegli Shark2-b e rinominiamolo pesce a bocca chiusa
  • Adesso crea uno script per il Pesce Mangione in modo che segua il mouse:

img

Verifica il tuo progetto

Muovi il mouse nel mare. Vedi il pesce che segue il mouse?

Cosa succede se non muovi il mouse? Perché’ questo comportamento?

Puoi evitare questo comportamento (Pesce Mangione che rimbalza come un matto) facendo in modo che il pesce si muova solo quando non è troppo vicino al mouse. (il blocco distanza da e nella palette Sensori)

img

Cose da provare

SALVA IL TUO PROGETTO

Se vuoi puoi usare un numero diverso nello script. In che modo il cambiamento fa muovere Pesce Mangione?

Cambia la soglia della distanza con un numero grande (esempio: 100) o con un numero piccolo (esempio: 1).

Cambia il numero di passi che il pesce compie con un numero grande (esempio: 20) o piccolo (esempio: 1 o 0)

Passo 2: Aggiungiamo delle prede

Ed ora aggiungiamo qualcosa da mangiare per il Pesce Mangione!!

Lista delle Attività

  • Crea un nuovo sprite dalla libreria di Scratch. Usa startfish dalla categoria Animali
  • Ridimensiona lo sprite rendendolo più piccolo
  • Crea uno script per far nuotare la preda. Vogliamo che si muova in modo casuale. Facciamola muovere in avanti per un po’, poi facciamola girare a destra o sinistra casualmente e così via.

img

Verifica il tuo progetto

Fai click sulla bandierina verde e guarda le prede nuotare nel mare.

Nuotano in base alle tue aspettative?

Il movimento è realistico?

Al momento le prede ed il Pesce Mangione non interagiscono. Risolveremo questo problema nel prossimo passo.

SALVA IL TUO PROGETTO

Cose da provare

Prova a cambiare i numeri nel blocco numero a caso. La preda si muove in un modo diverso?

Cosa fa il blocco rimbalza quando tocchi il bordo? Prova a rimuoverlo e guarda che succede.

Passo 3: Pesce Mangione si mangia una preda

Adesso vogliamo che il Pesce Mangione possa mangiare una preda! Quando il

pesce ha la preda in bocca, devono accadere due cose:

  1. Il Pesce Mangione deve chiudere la bocca ed emettere un suono.
  2. La preda deve scomparire e poi riapparire un attimo dopo.

Lista delle Attività

  • Prima di tutto facciamo scomparire la preda se viene in contato con il Pesce Mangione, poi facciamola riapparire 3 secondi dopo. Usa il blocco sta toccando per capire quando la preda è in contatto con il pesce.

img

Verifica il tuo progetto

  • Riscontri qualche problema? Nota che la preda scompare anche se non tocca il Pesce Mangione. Inoltre il pesce può aspettare 3 secondi e mangiarsi la preda non appena riappare - non è molto onesto
  • Come possiamo essere sicuri che la preda scompaia solo quando tocca la bocca del pesce? Possiamo usare il blocco sta toccando il colore per verificare se sta toccando i denti bianchi del pesce. Sostituisci il blocco sta toccando con un blocco sta toccando il colore nello script. Fai click nel colore nel blocco e poi fai click sui denti del pesce.
  • Possiamo anche far riapparire la preda in un punto casuale usando un blocco vai a ed assegnando un valore casuale per x e y.

img

Verifica il progetto

Vedi la preda scomparire solo quando tocca la bocca del pesce?

Riappare in un punto casuale invece che nel punto in cui è stata mangiata?

Passo 4

Il pesce deve sapere quando ha mangiato una preda così può emettere un suono a cambiare costume (chiudere la bocca). Per fare questo possiamo usare un blocco invia a tutti dicendo a tutti che la preda è stata mangiata

img

Adesso vogliamo che il pesce risponda al messaggio mandato emettendo un suono “bite” e chiudendo le mascelle.

  • Aggiungi il suono Bite per lo sprite pesce-mangione .
  • Aggiungi un nuovo script per il pesce che risponda al messaggio mangiato inviato dalla preda. Lo script deve far emettere il suono al pesce e fargli chiudere la bocca cambiando costume passa al costume. Dopo un po’ deve fargli riaprire la bocca di nuovo cambiando costume

img

Adesso che il nostro Pesce Mangione è capace di mangiare, riempiamo il mare di prede. Fai click con il taso destro sulla preda e duplica per 3 volte

Verifica il progetto

Il Pesce Mangione riesce a mangiare tutte le prede del mare?

Cosa a cui pensare

Perché’ dobbiamo aggiungere il blocco mostrati all’inizio dello script della preda?

Pensa a cosa succederebbe se la preda fosse mangiata ed il gioco fermato prima che riappaia. Cosa succederebbe se adesso ricominciassimo il gioco?

Ben Fatto!! Hai finito il gioco base. Ci sono altre cose che puoi fare con il tuo gioco. Sei pronto per la sfida?

Sfida 1: Fai muovere le prede in modo diverso

In questo momento tutte le prede si muovono nello stesso modo. Riesci a farne muovere una in modo diverso?

Suggerimento: Non sprecare troppo tempo prima di aver letto le altre attività di questo progetto.

Scegli una delle prede per fare degli esperimenti. Siccome hanno lo stesso costume, cambia il suo colore con il blocco cambia effetto colore. In questo modo può rendere la tua preda unica in mezzo alle altre prede.

Fa sì che questa preda si muova più lentamente delle altre.

Suggerimento: Guarda il blocco fai (3) passi.

Verifica il progetto

Vedi la preda muoversi più lentamente?

Il gioco è migliorato?

Se hai fatto questo fai muovere un’altra preda più velocemente delle altre.

Questi cambiamenti rendono il gioco migliore?

Suggerimento: Se le tue prede girano in cerchio, verifica i valori del blocco numero a caso nel blocco ruota di.

Che ne dici di rendere il comportamento di ogni preda diverso dalle altre, magari usando combinazioni diverse dei cambiamenti appena visti?

Questi cambiamenti rendono il gioco migliore? Rendono il gioco più interessante, divertente, difficile o facile? C’è qualche cambiamento che è migliore degli altri?

Sfida 2: Fai evitare alla preda il Pesce Mangione

Le prede in questo gioco non sono molto furbe!! Nuotano a caso nel mare finche’ non vengono mangiate. Una vera preda cerca sempre di stare alla larga dal suo predatore. Facciamo in modo che una delle prede cerchi di stare il più lontano possibile dal predatore.

In Scratch non c’è nessun blocco che ci dice la direzione di un altro sprite. Tuttavia possiamo dirigere uno sprite verso un altro e poi fargli invertire la marcia. I blocchi di cui hai bisogno sono nella palette Movimento

In base a questa idea, fa sì che una delle prede nuoti sempre in direzione opposta al pesce. Potrà capitare che la preda rimanga bloccata in un angolo. Puoi far sì che la preda nuoti in direzione opposta al pesce solo quando il pesce è vicino.

img

Verifica il progetto

Adesso la preda è più difficile da catturare?

Il gioco è adesso migliore?

Sfida 3: Aggiungi un punteggio

Come puoi sapere chi è il giocatore migliore? Ti serve un modo per tenere un punteggio.

Dove dovresti posizionare il blocco che cambia il punteggio?

Assicurati che il punteggio sia azzerato all’inizio del gioco. Dove dovresti mettere questo blocco?

Verifica il progetto

All’inizio del gioco il punteggio torna a zero?

Sfida 4: Aggiungi un conto alla rovescia

Fissa un tempo massimo per una partita. Quante prede riesci a catturare in 30 secondi?

Inizia facendo durare il gioco 30 secondi

img

Verifica il progetto

Il conto alla rovescia inizia da 30?

Viene decrementato alla giusta velocità?

Riesci a catturare una preda mentre il timer scorre?

Il gioco si ferma quando il conto alla rovescia raggiunge lo zero?

Sfida 5: Aggiungi un punteggio bonus

Assegna un grosso punteggio bonus se il giocatore riesce a mangiare 3 prede contemporaneamente? Come puoi sapere quante prede sono state mangiate?

Suggerimento: Un modo per farlo è usare una variabile che conta quante prede stanno nuotando nel mare.

Sfida 6: Cambia il gioco: mantieni una preda viva!

Qualche volta puoi avere una buona idea partendo da una già esistente e rovesciandola.

Cambia il gioco in modo che anziché controllare un pesce che vuole catturare le prede, controlli una preda in fuga da tanti Pesci Mangioni.

Quanto tempo riesci a resistere prima che vieni mangiata? In questo caso anziché avere un punteggio perché’ non dare 3 vite alla preda e finire il gioco quando tutte le vite sono consumate?

img

Ben fatto!!! Hai finito con questo esercizio. Adesso divertiti con il tuo nuovo gioco!!!

SALVA

Materiale a supporto

Pesce mangione.pdf

Pesce mangione.sb3

Progetto convertito per scratch 3 partendo da

Scratch-curriculum di Raspberry pi Foundation