💾 Archived View for gamifi.cat › blog › 2016-08-17_pong captured on 2024-02-05 at 09:59:43. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-03-20)
-=-=-=-=-=-=-
Sóc molt fan del Pong: és un joc molt i molt senzill que fa reflexionar sobre els dualismes i dicotomies. A més, és molt versà til: pots canviar els vestits dels personatges i crear-ne altres versions. Al Pong, que es com un joc de tennis o ping pong, trobem dues pales i una pilota. Si la pilota depassa la paleta del contrari, se’ls suma un punt al marcador. Hi poden jugar dues personetes (una a cada pala) o un jugador contra la mà quina.
Aquà el Pong clà ssic: la imatge l’he trobat a videojuegos antiguos[1].
1: https://videojuegosantiguos.blogspot.com.es/2011/04/comienzo.html
Un dels primers projectes que vaig trastejar amb Scratch va ser un Pong. Com tot just aterrava i no sabia fer gairebé res, vaig reciclar el codi d’un projecte existent i vaig canviar els personatges: a la pala de l’esquerra, hi vaig posar un la paraula LOVE en vertical, i a la pala de l’esquerra, hi vaig posar la paraula HATE en vertical.
Enlloc d’una pilota, vaig posar un cor. Si el cor tocava la pala LOVE, se sentia el so d’un petonet i el cor canviava a un cor amb fletxa; si el cor tocava la pala HATE, se sentia el so d’un clatellot i el cor canviava a un cor trencat.
De moment, farem un Pong horitzonal per a un sol jugador on només tindrem una pala i una pilota: l’objectiu és moure la pala amb el ratolà i fer que la pilota reboti al tocar la pala. Posarem fi al joc quan la pilota toqui “el terra”.
Un cop tenim dibuixats i nombrats els nostres objectes “Pala” i “Pilota” i els seus respectius vestits que hem dibuixat amb l’editor grà fic d’Snap!, comencem la programació de la pala. Veiem que té poca cosa:
blocs-moviment-automatic-x-140 [IMG]
No Ă©s un imperatiu que es mogui amb el ratolĂ. Tal com vam veure al joc del laberint, podem fer que la pilota es mogui amb les tecles del teclat. En aquest cas, però, nomĂ©s necessitarĂem dues instruccions de moviment: fletxa dreta i fletxa esquerra (o qualsevol altra tecla però dreta-esquerra Ă©s mĂ©s lògic, no?).
La pilota Ă©s qui porta el pes del joc i no volia programar-la aixĂ…però he tingut un problema que desprĂ©s explico. Ara, la pilota fa el segĂĽent:
Grà cies als llenguatges de programació visual, per fi he entès perquè serveix realment un transportador d’angles… De petita el feia servir com bonament podia però, realment, no li veia la utilitat a saber fer anar el catxarret aquell (a part d’aprovar l’assignatura, és clar).
Una cosa bonica dels llenguatges de programaciĂł visual Ă©s que tornen les mates i la fĂsica mooolt significatives: les necessitem per posicionar objectes, fer-los moure cap a on vulguem, etc. Com hem vist, la nostra pilota es posiciona al iniciar al joc al centre de la pantalla i apunta en una direcciĂł a l’atzar entre -60 i 60 graus.
Com sabem per altres prà ctiques, el bloc de moviment “apunta en direcció” té una pestanyeta amb quatre opcions: 0º=amunt, 180º=avall, 90º=dreta i -90º = esquerra. Al joc, la nostra pilota es posiciona al iniciar i apunta en una direcció a l’atzar entre -60 i 60 graus.
En aquest dibuixet veiem cap a on apunten, a l’escenari, aquests -60 i 60 graus. La pilota apuntarà un nombre a l’atzar entre aquests dos valors. Pots provar altres graus guiant-te amb el transportador per fer apuntar la pilota on vulguis: de -45 a 45 graus també seria una bona opció. Trasteja!
He magrejat el vector original del transportador per fer el dibuixet. La rodona verda és la nostra pilota situada al centre de l’escenari.
Al joc del laberint de l’entrada anterior, vam programar un bloc blau de sensor “tocant?” que detectava si un objecte (abella) estava tocant un altre objecte “flor”. Per tal de veure un altre sensor, “tocant color?”, volia programar que si la pilota tocava el color vermell, s’acabĂ©s el joc. I Ă©s per això que l’escenari tĂ© una lĂnia vermella sota de la pala.
El problema ve quan muntant els blocs (tan en un sol bloc com en esdeveniments en paral·lel) m’adono que la pilota es clava… Com no sabia si era jo que programava malament, la velocitat del meu ordinador o la connexió o el programa…, vaig decidir canviar la fi del joc: no acaba quan la pilota toca el color vermell sinó quan depassa l’eix y de -140, que és a l’alçada que està la pala.
A dins del projecte deixo els blocs que vaig programar originalment per trastejar amb el sensor “tocant color?”. Pots eliminar, tranquil·lament, la lĂnia vermella de l’escenari esborrant el vestit i deixant l’escenari blanc per defecte. La lĂnia vermella, ara, no serveix per a res perquè, finalment, no hem programat la interacciĂł amb el color vermell…
En resum, que es pot fer finalitzar el joc de diferents maneres i, aquest handicap, ens ha portat a buscar una altra soluciĂł: hem descobert el magnĂfic bloc “repeteix fins”… Jo li vaig agafar mania al bloc “per sempre” i, sempre que puc, faig servir el “repeteix fins”: no hi ha res per sempre…
D’altra banda, el joc es tornarĂ molt avorrit en pocs segons… Per fer-lo mĂ©s divertit, el podem fer mĂ©s difĂcil… Podem programar, per exemple, que la velocitat de la pilota augmenti cada segon que passa. Per fer-ho, necessitarem implementar una variable:
<a href="https://snap.berkeley.edu/snap/snap.html#present:Username=gamificat&ProjectName=Practica%209%20-%20Joc%20%28Pong%201%29">Juga al pong d'una pala!</a>
<a href="https://snap.berkeley.edu/snap/snap.html#present:Username=Gamificat&ProjectName=Practica%209%20-%20Joc%20%28Pong%201%20rapid%29">Juga al pong d'una pala amb velocitat variable!</a>
Ara, pots provar de posar la pala en vertical i afegir una altra pala per fer un joc multijugador. Hauràs de tenir en compte que l’eix de moviment haurà de ser y (i no x, com ara). És probable que faci una altra prà ctica per mostrar com fer un joc Pong clà ssic multijugador.
Per cert, ahir ja vaig veure que havien canviat cosetes a Snap! Et despistes una setmana i ja tens el tutorial obsolet, hehe. He detectat que, a la icona del document que gestiona els projectes, han canviat l’opció “Desar com” per “Anomena i desa” i el bloc “moure passos” ara es diu “mou-te passos”. Aviam si em passen una llista amb els canvis que van fent i aixà vaig actualitzant, que sinó me’ls trobo com bolets.