Esercizio Scratch: Hungry fish
Descrizione del progettoL'esercizio Hungry Fish realizza un videogioco ambientato in ambiente sottomarino. Sullo sfondo si muovono in modo casuale un grande numero di pesciolini. Il giocatore deve condurre con il mouse uno squalo in modo da portare i pesciolini nella bocca dello squalo che si chiude mangiandoli. Ogni pesce mangiato vale un punto.
Lo sfondo
Lo stage è dotato di tre sfondi che descrivono un ambiente sottomarino (underwater1-2-3.jpg). I tre sfondi sono ricavarti dall'originale underwater.jpg effettuando piccoli spostamenti delle bolle per dare una percezione di movimento.
I tre sfondi si alternano in uno script di stage:
Quando si clicca su bandierina verde Ripeti per sempre
attendi 1 secondo
passa allo sfondo seguente fine per sempre
Gli sprite pesciolini
Il progetto richiede la presenza di un grande numero di pesciolini che si devono muovere in modo casuale nello stage.
Conviene progettare completamente un singolo sprite e poi duplicarlo solo quando è completo in modo da non dover riscrivere lo script più volte.
Il pesciolino viene posizionato in x, y casuali nell'intero spazio dello stage e in direzione casuale tra 0 e 360.
Il suo movimento è una combinazione di traslazione nella direzione corrente e di un cambio di direzione casuale tra + e – 20.
Quando si clicca su bandierina verde mostra
vai a x: numero a caso tra -240 e 240 y: numero a caso tra -180 e 180 punta in direzione numero a caso tra 0 e 360
per sempre fai due passi
ruota in senso orario di un numero a caso tra -20 e 20 rimbalza quando tocchi il bordo
fine per sempre
Prima di duplicare il pesciolino si deve prevedere un meccanismo per riconoscere la catura da parte dello squalo.
Conviene quindi caricare lo sprite dello squalo (shark.sprite). Nel primo costume (bocca aperta) lo squalo ha un puntino blu scuro al centro della bocca.
Il pesciolino riconosce di essere catturato quando tocca il puntino blu. In questo caso invia un messaggio “mangiato” e diventa invisibile.
Quando si clicca su bandierina verde mostra
vai a x: numero a caso tra -240 e 240 y: numero a caso tra -180 e 180 punta in direzione numero a caso tra 0 e 360
fai due passi
ruota in senso orario di un numero a caso tra -20 e 20 rimbalza quando tocchi il bordo
se <sta toccando colore blu> invia a tutti “mangiato” nascondi
ferma lo script finese
fine per sempre
A questo punto è possibile duplicare il pesciolino ottenendo molti pesciolini con movimenti casuali. Si possono anche creare pesciolini con costumi diversi e messaggi diversi per differenziare i
punteggi.
Lo sprite squalo
Lo sprite squalo deve essere mosso dal giocatore in modo da portare un pesciolino nella bocca dello squalo.
I movimenti sono realizzati per inseguimento di posizione e direzione del mouse.
Quando si clicca su bandierina verde per sempre
punta verso il puntatore del mouse raggiungi il puntatore del mouse fine per sempre
Quando un pesciolino tocca il punto blu all'interno della bocca dello squalo invia il messaggio mangiato e scompare.
Lo squalo oltre allo script di movimento deve essere dotato di uno script avviato sulla ricezione del messaggio “mangiato”.
Lo squalo va anche dotato di una variabile denominata “punti”; ogni volta che un pesciolino invia il messaggio mangiato lo script incrementa di 1 la variabile punti che va mostrata sullo stage.
Quando si clicca su bandierina verde porta il costume a bocca aperta porta punti a 0
per sempre
punta verso il puntatore del mouse raggiungi il puntatore del mouse fine per sempre
Quando ricevo mangiato porta il costume a bocca chiusa aspetta 0,5 secondi
porta il costume a bocca aperta cambia punti di 1