Preparem el joc
Primer modifiquem el programa anterior traient l'increment de la velocitat de dins del 'per sempre'. Només això! la inicialització i la utilització de la variable 'velocitat' dins del 'mou-te' s'han de quedar.
Seguirem afegint més elements al Pong. Tornem a obrir l'editor de dibuixos per crear una barra rectangular, no massa llarga ni massa gruixuda
Si la barra no ens ha sortit bé, cap problema. Amb la barra seleccionada, anem a la pestanya 'vestits' i, amb l'editor de dibuixos, arreglem el que no ens agradi.
Ara ja tenim dos personatges al Pong: La pilota i la barra. La pilota té un programa associat (com podeu veure si la seleccioneu) però la barra encara no. Ara, arrosseguem la barra dins l'escenari fins a posar-la a la meitat inferior, més o menys (tampoc cal ser molt precís).
Quin programa tindrà la barra? Si heu jugat al Pong alguna vegada, recordareu que la missió de la barra és que la pilota no arribi a tocar el "terra" del joc. Cada cop que toca el terra es perd. Per tant, seria desitjable tenir alguna manera de controlar el desplaçament lateral (sense que la seva coordenada 'y' variï).
El que farem serà controlar-ho amb el ratolí. Si fem clic a la categoria 'Sensors' veiem que hi ha una expressió que ens retorna la coordenada x del ratolí. Així doncs, podem utilitzar 'assigna el valor … a x' (a la categoria 'Moviment') per identificar la coordenada x de la barra amb la coordenada x del ratolí. Si això ho fem 'per sempre', començant 'al prémer la bandera verda', ja ho tenim
Premeu la bandera verda. Què observeu? La pilota va rebotant, podeu moure la barra amb el ratolí però no hi ha cap mena d'interacció entre els dos personatges.
Caldrà fer que la pilota reboti en tocar la barra. Seleccionem la pilota, ja que és el seu programa el que cal modificar.
Fem clic a 'Sensors' i ens fixem que podem detectar si un personatge en toca un altre amb l'expressió lògica (fixeu-vos en el contorn angular) 'tocant menú desplegable?' Precisament en aquest menú podrem triar amb quin altre personatge hem topat.
Si triem l'opció correcte, l'expressió es dirà 'tocant Sprite2 ?'
Afegirem un 'si…' dins de la iteració per fer alguna cosa quan la pilota toqui la barra (recordem que estem modificant el programa de la pilota).
Què hem de fer quan toquem la barra? Rebotar amb 180 (graus) menys l'angle d'entrada, que és el mateix que 180 menys la direcció que portava la pilota. Aquest serà l'angle de sortida de la pilota quan reboti, és a dir, el canvi que hem de fer a la seva direcció per obtenir l'efecte rebot. Ja sabem que a la categoria 'Operadors' hi ha l'operació de restar i a la categoria 'Moviment' tenim l'expressió que ens proporciona la direcció del personatge, en aquest cas la pilota.
Per tant, el nou programa, un cop fets els canvis detallats més amunt, és aquest
El blanc és avorrit
Fem un petit descans per fer el joc una mica més atractiu visualment. Seleccionem l'escenari
i triem la pestanya 'Fons'
Ara buscarem un fons que ens agradi molt, si més no, molt més que el color blanc que teníem fins ara. Podem triar entre un munt de possibilitats, hi ha molts fons diferents a la galeraia d'Scratch (evidentment també ens en podem fer un nosaltres mateixos). En el nostre cas hem triat 'moon', és a dir, la Lluna.
Un cop fet això, veiem com la Lluna apareix com el nou fons del Pong
I si mirem la finestra de visualització, és a dir, el joc del Pong, veurem que ara la nostra piloteta es mou en un entorn més còsmic
la qual cosa es reflecteix a la icona de l'escenari
Seguim? Perdre el joc
Continuem complicant, i fent més interessant, el joc. Volem saber quan la pilota ha passat la barra sense rebotar, és a dir, quan hem estat incapaços d'interceptar la pilota.
Ja sabem que podem detectar el contacte entre dos personatges. Així hem estat capaços de fer rebotar la pilota amb la barra. De la mateixa manera, puc crear un nou personatge per detectar aquestes col·lisions. Obrim, per tant, l'editor de dibuixos per crear una barra tan llarga com ample és l'escenari. Ha d'anar de punta a punta (no detallarem com fer-ho, si heu creat la pilota i la barra no hauríeu de tenir cap problema creant aquest nou personatge). Un cop creat, l'arrossegueu dins de l'escenari fins a la part inferior, que quedi col·locat sota de tot. Veieu com queda la barra vermella de la figura.
Ara, si el que volem és que s'acabi el joc, hi ha una cosa que ens fa nosa. Una cosa que s'ha d'acabar no put durar 'per sempre'!
Així doncs, haurem de canviar el 'per sempre' per alguna estructura que respongui a les nostres intencions. I n'hi ha una, no? Recordeu el darrer apartat del mòdul 1? Allà vam conèixer el 'repetir fins', i és precisament això el que ens cal. Però… fins quan? Doncs fins que la pilota toqui la barra gran, la vermella, en el nostre cas. Utilitzarem la mateixa expressió lògica que hem fet servir per detectar el rebot, és a dir, 'tocant …?' a 'Sensors', però amb l'Sprite3, que és com es diu la barra vermella. Ja sabem com combinar-ho tot plegat, i el programa resultant és
Ara hem de jugar molt bé perquè el joc s'acaba de seguida que l'espifiem. Les segones oportunitats sempre van bé, no? Doncs al proper apartat haurem de veure com arreglar-ho.