Exercici: Pong

From Edutec Wiki
Jump to: navigation, search
This page is a translated version of the page Ejercicio: Pong and the translation is 100% complete.

Other languages:
català • ‎español


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

Ejercicio Pong 01.png


Seleccionem l'eina cercle Archivo:Seleccionherramientacirculo.png i triem el cercle farcit Archivo: Pong03.png. 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:

Pong04.png

Què podem fer? Per començar podem iniciar el programa prement la bandereta verda.

Pong01-1.png

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

Pong06.png

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

Pong01-2.png


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"

Pong01-4.png

A l'editor de dibuixos dibuixem un rectangle, procurant que el centre quedi ben col·locat

Pong02-1.png


A aquest objecte li afegim el següent codi.

Pong02-2.png

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.

Pong10-1.png


Més rebots

Anem a escriure el codi de rebotar.

Pong10-2.png


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.

PongLineadefondo.png

Modifiquem el codi de la "Pilota" perquè aquesta interactuï amb el "Fons"

PongTocandofondo.png


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

PongVariablemarcador.png

Cada vegada que la "Pilota" toca la línia de fons incrementem aquesta variable en un.

PongCodigomarcador.png

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

PongMensajeinicia.png


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.

PongCodigocomarcador.png


Afegim un missatge (enviar "fi") al codi per activar les condicions de final de partida

PongFinpartida.png

Dibuixem un nou escenari per al final de partida.

PongFondofinal.png

Modifiquem el codi de l'escenari perquè respongui als missatges "inicia" i "fi".

PongEscenariocodigofinal.png

Per acabar afegim els comportaments "inicia" i "fi" als altres objectes.

Pera a la pilota

PongPelotafin.png

Per a la paleta:

PongPelotafin.png