Exercici: Pong
Contents
Introducció
El primer que farem és partir de zero, és a dir, triarem l'opció 'Nou' del menú 'Arxiu'. Ara tenim el gatet a l'escenari i el traurem. Ja sabeu com fer-ho: escollim les tisores i eliminem el gat. La idea és quedar-nos sense res! Construirem els objectes necessaris per al programa. Primer dibuixarem un pilota. Al menú nou objecte fem clic sobre el pinzell i s'obrirà l'eina de dibuix
Seleccionem l'eina cercle i triem el cercle farcit
. Fem un cercle ni massa petit ni massa gran (amb la tecla majúscules pressionada acaonseguirem dibuixar un cercle i no una el·lipse) Ara tenim un objecte nou amb el qual podem fer coses, li posem de nom "Pilota".
Movent la pilota
Primer de tot, caldrà que tornem al llenç de programació, podem fer-ho prement el botó de Programes:
Què podem fer? Per començar podem iniciar el programa prement la bandereta verda.
Col·loquem aquest codi a l'escenari, Escrivim el codi de la "Pilota". Ja sabem com fer-ho, oi? Ja coneixem les instruccions 'mou-te', 'rebota en tocar una vora', l'estructura iterativa 'per sempre' i la instrucció que detecta si hem enviat un missatge. Combinant tot això podem fer el programet senzill
Ara pressionem la bandera verda i posem el programa en funcionament. Comprovem com funciona el rebot.
Anem a afegir un nou objecte per detectar quan la pilota toca la part inferior de l'escenari.
Cada vegada que premem la bandera verda la pilota ira a la part superior central de l'escenari (0,160) i es mourà en direcció cap avall (180). Si deixem el codi d'aquesta manera la pilota sempre tindria el mateix moviment, farem que la direcció sigui diferent cada vegada, amb la instrucció.
La paleta
Ja tenim la pilota en moviment, construïm un nou objecte per interactuar amb la pilota, A aquest objecte li anem a cridar "Paleta"
A l'editor de dibuixos dibuixem un rectangle, procurant que el centre quedi ben col·locat
A aquest objecte li afegim el següent codi.
Amb aquest codi aconseguim que l'objecte "Paleta" segueixi el moviment en "x" del ratolí. Ara hem d'aconseguir que la paleta i la pilota interactuïn. Per a això modificarem el codi de la paleta de la següent forma.
Més rebots
Anem a escriure el codi de rebotar.
La línia de fons
Comprovem com funciona el rebot. Anem a afegir un nou objecte, que ens servirà per detectar quan la pilota toca la línia de fons i per tant perdem el punt. Crearem nou objecte, obrim l'editor de dibuix i dibuixem un objecte com es mostra en la següent imatge i li diem fons.
Modifiquem el codi de la "Pilota" perquè aquesta interactuï amb el "Fons"
Seria convenient que poguéssim comptar les vegades que la pilota toca el fons. Per això vam crear una variable a la que anomenem "marcador".
Cada vegada que la "Pilota" toca la línia de fons incrementem aquesta variable en un.
Quan iniciem la partida haurem de posar aquesta variable a zero. Per això escrivim el següent codi a l'escenari. Hem construït un nou missatge "inicia" que utilitzarem més endavant per fixar la posició inicial de tots els objectes
Perdre la partida
Fem que la partida d'un nombre determinat de punts. Canviem el bucle "per sempre" del codi de la pilota per un "repetir fins que ..." amb la condició desitjada.
Afegim un missatge (enviar "fi") al codi per activar les condicions de final de partida
Dibuixem un nou escenari per al final de partida.
Modifiquemos el código del escenario para que responda a los mensajes "inicia" y "fin".
Para terminar añadamos los comportamientos "inicia" y "fin" a los otros objetos.
Para la pelota:
Para la paleta: