Guarniments
Podem fer diverses millores en el nostre programa.
1.- Podem afegir-li algun so per comunicar que el joc s'ha acabat. Amb la pilota seleccionada, anem a la pestanya 'Sons' i fem clic a 'Grava'.
Se'ns ha creat un nou so que està buit i on podem enregistrar el que volguem. Prement el botó vermell podem dir qualsevol cosa, que quedarà enregistrada. Per exemple, podríem dir "Game Over" amb veu molt solemne, perquè quedi força clar que el joc s'ha acabat.
Ara canviem el nom del so que tot just hem gravat. Podem anomenar-lo, per exemple, 'gameover'.
I ara afegirem al final del nostre programa la instrucció 'toca so' amb el nom del nou so triat al menú desplegable
2.-Oi que va massa ràpid quan perd una vida i comença la partida amb la següent? Per això tenim la instrucció 'espera… segons' (a la categoria 'Control').
Podem posar-la tot just desprès de les inicialitzacions de la pilota i abans de la repetició 'repeteix fins tocant Sprite3?', és a dir, ha d'estar dins del repetir més exterior però fora del repetir més interior. Amb un segon d'espera n'hi ha de sobres.
3.-Podem escriure amb l'editor de dibuixos el text (botó de l'editor amb una "T" dibuixada) "Game Over" (recordem que si no ens surt bé, el podem seleccionar, anar anem a la pestanya 'Vestits' i modificar-lo).
Però ara, quan juguem, el "Game Over" hi és sempre! El "Game Over" hauria de desaparèixer en començar i només sortir quan el joc s'acaba. Fixem-nos que a la categoria 'Aspecte' tenim dues instruccions 'amaga' i 'mostra'. Podem provar d'associar al text "Game Over" el programa
Amb la qual cosa s'amaga quan comencem. Això està bé. Fixem-nos, però, que quan acabem no apareix! Així doncs, encara tenim feina.
Com li pot dir la pilota al text que el joc s'ha acabat??
A Scratch els personatges poden enviar missatges a tots els altres personatges. Seleccionem la pilota (si no ho estava) i fem clic a la categoria 'Esdeveniments'. Allà podem veure la instrucció 'envia a tots menú desplegable'.
Arrosseguem la instrucció fins a la zona de programes i creem un nou missatge:
Podem escriure, per exemple, "fidejoc". Un cop ho haguem fet, afegim la instrucció 'envia a tots fidejoc' al final del programa de la pilota, com a darrera instrucció del programa (possiblement darrera de 'toca so gameover').
Aquesta instrucció envia a tots els personatges el missatge "fidejoc". Ara bé, hi haurà personatges que faran cas d'aquest missatge, i n'hi haurà d'altres que no.
Un dels personatges que n'hauria de fer cas és el text "Game Over". En rebre aquest missatge, hauria de fer-se visible. Ho tenim fàcil! Si ens fixem en les instruccions de la categoria 'Esdeveniments' hi ha la instrucció 'quan rebi menú desplegable' que ens va força bé. Seleccionem el text "Game Over" i arrosseguem 'quan rebi…' cap a la zona de programa. Triem "fidejoc" en el menú de la instrucció. Tot just a sota hi enganxem 'mostra', de la categoria 'Aspecte', i ja ho tenim! Els programes associats al text "Game Over" són:
"Però… com? Dos programes per a un sol personatge?" deveu estar pensant. Fixeu-vos que cada un d'aquests programes s'activarà en determinades condicions. Un ('amaga') quan es premi la bandera verda, un altre ('mostra') quan es rebi el missatge "fidejoc". Són situacions diferents que no interfereixen entre elles. Així doncs, cap problema. Aquest mecanisme que té Scratch d'enviar missatges entre personatges el veurem sovint en els propers mòduls.