TUTORIAL per SC CONTACCINELLA TUTORIAL

coderdojomilano
CONTACCINELLA
TUTORIAL per SCRATCH 2.0
Percorso SCRATCH – BASE, Sessione 3
INTRODUZIONE
Questo tutorial è focalizzato sulle
lle variabili e gli operatori di Scratch. Il tutorial consiste nel realizzare un
gioco in cui una coccinella insetto deve riordinare dei numeri su una lavagna.
lavagna
PASSI
Sono previsti i seguenti passi:
1.
2.
3.
4.
5.
6.
preparazione
movimento della coccinella
movimento dei numeri e duplicazione
far contare il programma
aggiunta del punteggio
aggiunta dei livelli
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 1
coderdojomilano
Dettaglio dei passi
Passo 1: preparazione
Aprire il progetto Scratch contaccinella.sb2
contaccinella
in Scratch 2.0
Passo 2: movimento della coccinella
Obiettivo finale: far muovere la coccinella con le frecce impostando la giusta velocità.
Concetti: Uso delle variabili come costanti, uso delle variabili locali, inizializzazione di una variabile
Obiettivo 2.1: aggiungere lo script per far muovere la coccinella con le quattro frecce e farle cambiare
costume
Soluzione 2.1:
Selezionare la coccinella
Aggiungere lo script
SCEGLIERE
FRECCIA
SU
SCEGLIERE
DIREZIONE
SU
IMPOSTARE
LA VELOCITA
Duplicare3 volte il SE dello
script e aggiungere i 3
duplicati dentro al PER
SEMPRE
In ogni blocco SE duplicato scegliere un tasto freccia diverso e la direzione corrispondete in modo da avere
FRECCIA e DIREZIONE SU
FRECCIA e DIREZIONE GIU’
FRECCIA e DIREZIONE DESTRA
FRECCIA e DIREZIONE SINISTRA
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 2
coderdojomilano
Obiettivo 2.2: impostare diverse velocità per la coccinella
Soluzione 2.2: modificare il numero di passi in tutti e quattro i blocchi SE ed eseguire, provando più volte
con valori differenti
Obiettivo 2.3: Utilizzare una varabile per impostare la velocità della coccinella in un punto solo
Soluzione 2.3:
Creare la variabile VELOCITA COCCINELLA
1.SCEGLIERE
VARIABILI E
LISTE
3. DARLE
UN NOME
4.SOLO PER
QUESTO
SPRITE
2.CREARE LA
VARIABILE
Aggiungere allo script della coccinella il blocco per assegnare
un valore iniziale alla variabile
5. CONFERMARE
Aggiungere la variabile in tutti i 4 blocchi SE
al posto del numero di passi
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 3
coderdojomilano
Passo 3: movimento dei numeri e duplicazione
Obiettivo:: far muovere il primo numero per lo stage in modo automatico e farlo andare sulla prima riga
delle lavagna se viene toccato dalla coccinella. Rendere facile la duplicazione del primo numero per crearne
altri.
variab locale, operatori aritmetici
Concetti: inizializzazione e uso di una variabile
Obiettivo 3.1: Far muovere il numero in modo automatico sullo stage
Soluzione 3.1:
Selezionare il numero
Aggiungere lo script
Aggiungere i blocchi per il
movimento
SCEGLIERE IL
COSTUME 1 PER
VISUALIZZARE IL
NUMERO 1
IMPOSTARE
LA
VELOCITA’
IMPOSTARE
LA
ROTAZIONE
Obiettivo 3.2: Spostare il numero sulla prima riga della lavagna quando viene toccato dalla coccinella e
fermarlo
Soluzione 3.2:
Aggiungere allo script del
numero i blocchi per
l’interazione con la coccinella
e per farlo fermare
SCEGLIERE LA
COCCINELLA
IMPOSTARE LA
POSIZIONE PER IL
PRIMO NUMERO
SELEZIONARE
QUESTO SCRIPT
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 4
coderdojomilano
Obiettivo 3.3: ridurre al minimo i valori dello script da modificare quando lo si duplica, e duplicarlo
Soluzione 3.3:
Selezionare il primo numero
Creare la variabile ME valida solo per lo sprite corrente
1.SCEGLIERE
VARIABILI E
LISTE
3. DARLE
UN NOME
4.SOLO PER
QUESTO
SPRITE
2.CREARE LA
VARIABILE
Valorizzare la variabile col numero dello sprite
e sostituirla nei punti dello script che
dipendono dal numero dello sprite
5. CONFERMARE
VALORIZZARE
ME AD 1
USARE ME PER
IMPOSTARE IL
COSTUME
USARE ME CON GLI
OPERATORI +
(somma) E *
(moltiplicazione)
PER IMPOSTARE LA
POSIZIONE X DEL
NUMERO QUANDO
VIENE TOCCATO
Duplicare lo sprite del numero due volte.
volte Negli
script dei nuovi sprite cambiare il valore
assegnato a ME, mettendo 2 e 3
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 5
coderdojomilano
Passo 4: far
ar contare il programma
Obiettivo: faree in modo che i numeri possano essere toccati solo in ordine e se si sbaglia tutti i numeri già
bloccati devono ricominciare a muoversi.
Concetti: uso di una variabile per gestire lo stato del programma,
programma operatori di relazione
Obiettivo 4.1: Fare in modo che ill programma conti quanti numeri ha toccato
Soluzione 4.1:
Creare la variabile CONTATORE che viene usata per contare
1.SCEGLIERE
VARIABILI E
LISTE
3. DARLE
UN NOME
4.PER TUTTI
GLI SPRITE
2.CREARE LA
VARIABILE
5. CONFERMARE
Selezionare lo stage
Aggiungere lo script che parte a contare da 0
Selezionare il primo numero
Nel suo script aggiungere il blocco che conta aumentando CONTATORE di
1 ogni volta che il numero viene toccato
SCEGLIERE LA
VARIABILE
CONTATORE E
AUMENTARLA DI 1
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 6
coderdojomilano
Obiettivo 4.2: Fare in modo che i numeri possano essere catturati solo in ordine
Soluzione 4.2:
Nello script del primo numero
aggiungere un blocco SEALTRIMENTI che fa catturare il
numero e aumenta il
CONTATORE solo se il numero
(ME) è quello successivo a
CONTATORE (ovvero è il
prossimo numero da toccare)
SI USA
L’OPERATORE DI
UGUAGLIANZA
PER FARE IL
CONFRONTO
SI USA L’OPERATORE
+ (somma) PER
CONFRONTARE ME
CON IL NUMERO
SUCCESSIVO
ALL’ULTIMO
CONTATO (OVVERO
CONTATORE + 1)
Obiettivo 4.3: Fare in modo che se si tocca il numero sbagliato i numeri già catturati ricomincino a muoversi
Soluzione 4.3:
Aggiungere il blocco SE che fa
muovere il numero solo se
non è ancora stato toccato
prima (ovvero se non è ancora
stato contato dal
CONTATORE)
SI USA
L’OPERATORE <
(minore di) PER IL
CONFRONTO
CONFRONTARE SE IL
CONTATORE E’
MINORE DEL
NUMERO DELLO
SPRITE (VUOL DIRE
CHE NON E’ ANCORA
ARRIVATO A
CONTARE FINO A
QUESTO NUMERO)
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 7
coderdojomilano
Aggiungere in ALTRIMENTI un
blocco che mette a 0
CONTATORE se si tocca un
numero che non è quello
giuto.
SELEZIONARE
CONTATORE E
IMPOSTARE IL
VALORE A 0
Togliere il blocco che arresta
lo script
Così se si sbaglia numero tutti
quelli già catturati
ricominciano a muoversi.
Cancellare tutti gli sprite dei numeri tranne il
primo e poi duplicarlo due volte. Negli
egli script
dei nuovi sprite cambiare il valore assegnato a
ME, mettendo 2 e 3
Passo 5: aggiunta del punteggio
Obiettivo: aggiungere un punteggio che cresce ogni volta che si cattura il numero giusto e diminuisce ogni
volta che si tocca quello sbagliato.
Concetti: uso di una variabile
Obiettivo 5.1: Aggiungere punti quando si cattura il numero giusto
Soluzione 5.1:
Creare la variabile PUNTI
1.SCEGLIERE
VARIABILI E
LISTE
3. DARLE
UN NOME
4.PER TUTTI
GLI SPRITE
2.CREARE LA
VARIABILE
Selezionare lo stage
5. CONFERMARE
Aggiungere il blocco che mette PUNTI a 0
SELEZIONARE
PUNTI E
IMPOSTARE A 0
IL VALORE
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 8
coderdojomilano
Selezionare il primo
numero
Aggiungere il blocco che assegna 10 punti quando il numero catturato è quello
giusto (dentro al SE)e il blocco che ne toglie 5 se è quello sbagliato (dentro ad
ALTRIMENTI)
SELEZIONARE
PUNTI E
IMPOSTARE A 10
IL VALORE
SELEZIONARE
PUNTI E
IMPOSTARE A -5
IL VALORE
Obiettivo 5.2: Quando si tocca il numero sbagliato bisogna togliere i punti guadagnati fino a quel momento
Soluzione 5.2:
Aggiungere un blocco
che toglie 10 punti
tante volte quant’è
CONTATORE, dentro ad
ALTRIMENTI
SI USA
L’OPERATORE *
(moltiplicazione)
Obiettivo 5.3: Fare in modo che i punti vengano tolti una volta sola appena si tocca il numero sbagliato
Soluzione 5.3:
Aggiungere un blocco che
attende fio a quando lo
sprite non sta più
toccando la coccinella
SI USA
L’OPERATORE NON
Cancellare tutti gli sprite dei
numeri tranne il primo e poi
duplicarlo quattro volte. Negli
script dei nuovi sprite
cambiare il valore assegnato a
ME, mettendo 2, 3, 4 e 5
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 9
coderdojomilano
Passo 6: aggiunta dei livelli
Obiettivo: aggiungere dei livelli di difficoltà che crescono ogni volta che si catturano tutti i numeri.
numeri
Concetti: uso di una variabile
Obiettivo 6.1: Aggiungere al gioco i livelli che cambiano ogni volta che si catturano tutti i numeri
Soluzione 6.1:
Aggiungere la variabile
LIVELLO (per tutti gli
sprite)
Selezionare lo stage
Aggiungere il blocco che all’inizio mette LIVELLO a 1
SELEZIONARE
LIVELLO E
IMPOSTARE A 1
IL VALORE
Aggiungere una
condizione che fa salire
di uno LIVELLO ogni
volta che si catturano
tutti i numeri
SI USA l’OPERATORE
DI UGUAGLIANZA PER
CONTROLLARE IL
VALORE DEL
CONTATORE
IMPOSTARE IL
VALORE DI
CONFRONTO COL
TOTALE DI SPRITE
NUMERICI USATI
SELEZIONARE
LIVELLO E
AUMENTARLO DI 1
SELEZIONARE
CONTATORE E
IMPOSTARLO A 0
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 10
coderdojomilano
Obiettivo 6.2: Fermare il gioco dopo 5 livelli
Soluzione 6.2:
Aggiungere una
condizione che ferma
tutto se il gioco supera
il 5° livello
USARE
L’OPERATORE >
(maggiore di) PER
CONTROLLARE SE IL
LIVELLO HA
SUPERATO IL 5°
SELEZIONARE
TUTTO
Obiettivo 6.3: Aumentare la velocità dei numeri ad ogni livello
Soluzione 6.3:
Aggiungere una
variabile PASSI per
regolare la velocità dei
numeri, per tutti gli
sprite
USARE
L’OPERATORE >
(maggiore di) PER
CONTROLLARE SE IL
LIVELLO HA
SUPERATO IL 5°
SELEZIONARE
TUTTO
Aggiungere una
variabile GRADI per
regolare la rotazione
dei numeri, per tutti gli
sprite
Selezionare lo stage
Aggiungere i blocchi che danno un valore iniziale a PASSI e GRADI
SELEZIONARE
GRADI E
IMPOSTARE A 1
IL VALORE
SELEZIONARE
PASSI E
IMPOSTARE A 2
IL VALORE
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 11
coderdojomilano
Aggiungere i blocchi
che aumentano PASSI e
GRADI ogni volta che
aumenta il livello
SELEZIONARE
PASSI E
IMPOSTARE A 1
IL VALORE
SELEZIONARE
GRADI E
IMPOSTARE A 1
IL VALORE
Selezionare il primo
numero
Sostituire i valori dei passi e dei gradi con le variabili PASSI e GRADI
Cancellare tutti gli sprite dei
numeri tranne il primo e poi
duplicarlo quattro volte. Negli
script dei nuovi sprite
cambiare il valore assegnato a
ME, mettendo 2, 3, 4 e 5
SCRATCH - Tutorial base.sessione3 – contaccinella - R02
Quest'opera è stata rilasciata con licenza Creative Commons Attribuzione Non commerciale - Condividi allo stesso modo 3.0 Unported
PAGINA 12