Da WIKI CoderDojo Firenze.
 
(Una versione intermedia di un altro utente non mostrate)
Riga 36: Riga 36:
  
 
[[File:Scratch labirinto i due costumi.png|File:Scratch_labirinto_i_due_costumi.png]]
 
[[File:Scratch labirinto i due costumi.png|File:Scratch_labirinto_i_due_costumi.png]]
 +
  
  
Riga 48: Riga 49:
 
L'insieme si tutto il codice da realizzare è riportato nell'immagine che segue:
 
L'insieme si tutto il codice da realizzare è riportato nell'immagine che segue:
  
 +
<br/>[[File:Scratch labirinto codice.png|File:Scratch_labirinto_codice.png]]
  
[[File:Scratch_labirinto_codice.png]]
 
  
  
 
=== Esercizi ===
 
=== Esercizi ===
  
*Estendere l'algoritmo di movimento in modo da permettere anche gli spostamenti in diagonale (attenzione... c'è una soluzione semplice ma sbagliata e una corretta).  
+
*Estendere l'algoritmo di movimento in modo da permettere anche gli spostamenti in diagonale (attenzione... c'è una soluzione semplice ma sbagliata e una corretta).
 
+
[[Category:Scratch|L]]
 
+
 
+
[[Category:Scratch|Category:Scratch]]
+

Versione attuale delle 18:55, 21 set 2014

Gioco LABIRINTO (mentor)

Questo semplice programma permette di muovere uno sprite all'interno di un labirinto, animando lo sprite utilizzando più costumi e gestendo le collisioni sulle "pareti" del labirinto. Dimostra quindi in modo elementare come:

  • utilizzare tasti per muovere uno sprite
  • utilizzare costumi multipli sullo stesso sprite alternandoli durante il movimento
  • utilizzare la condizione "tocca il colore" per effettuare operazioni automatiche sul movimento

Il gioco può essere scaricato dall'archivio kata.

Creazione dello Stage (sfondo)

Come prima cosa occorre realizzare lo Stage da utilizzare come sfondo per il gioco. L'unico requisito importante è che i muri del labirinto siano realizzati con la penna di colore nero in modo da poter correttamente in fase di codifica la collisione con le pareti. Occorre anche realizzare i corridoi del labirinto con una larghezza appropriata in modo da permettere allo sprite, che realizzeremo successivamente, di muoversi agevolmente all'interno del labirinto.

Per modificare lo sfondo, andare nell'area Stage, selezionare il tab "Sfondi" e selezionare "Modifica". Nella figura che segue è riportata la finestra Editor di immagini con un esempio di labirinto.

Errore nella creazione della miniatura: Impossibile salvare la miniatura nella destinazione

Sprite: disegno dei costumi

Come sprite useremo una palla costituita da due costumi che si alternano continuamente per creare un effetto animato elementare in stile Pac-Man. Creare lo sprite cliccando sull'icona "Disegna nuovo sprite":

Errore nella creazione della miniatura: Impossibile salvare la miniatura nella destinazione

Si aprirà la finestra dell'editor di immagini. Disegnare un semplice cerchio di un colore a piacere (purché non nero). Scegliere la dimensione in modo che lo sprite sia ben visibile ma che si possa muovere agevolmente all'interno del labirinto. Alla fine di questa operazione lo sprite deve apparire sopra lo stage per esempio come riportato nella seguente immagine:

Errore nella creazione della miniatura: Impossibile salvare la miniatura nella destinazione

Per realizzare il secondo costume dello sprite operare come segue:

  • duplicare il primo costume realizzando cliccando sul pulsante "copia" accanto al costume:
Errore nella creazione della miniatura: Impossibile salvare la miniatura nella destinazione
  • cliccare sul pulsante "modifica" accanto al secondo costume. Cancellare alcuni pixel del corpo in modo da realizzare una "bocca". Alla fine dell'operazione i due costumi appariranno così:
Errore nella creazione della miniatura: Impossibile salvare la miniatura nella destinazione


Sprite: codice

Il codice da associare allo sprite appena realizzato è costituito da tre gruppi di script:

  • Script per il posizionamento iniziale dello sprite e per gestire l'alternanza dei costumi
  • Script per gestire il movimento dello sprite utilizzando le frecce
  • Script per gestire le collisioni con le pareti del labirinto.

L'insieme si tutto il codice da realizzare è riportato nell'immagine che segue:


Errore nella creazione della miniatura: Impossibile salvare la miniatura nella destinazione


Esercizi

  • Estendere l'algoritmo di movimento in modo da permettere anche gli spostamenti in diagonale (attenzione... c'è una soluzione semplice ma sbagliata e una corretta).