Da WIKI CoderDojo Firenze.

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.

File:Editor_stage.png

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":

File:Crea_nuovo_sprite.png

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:

File:Scratch_labirinto_sprite_costume_1.png

Per realizzare il secondo costume dello sprite operare come segue:

  • duplicare il primo costume realizzando cliccando sul pulsante "copia" accanto al costume:

File:Scratch_labirinto_copia_costume.png

  • 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ì:

File:Scratch_labirinto_i_due_costumi.png


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:


File:Scratch_labirinto_codice.png


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).