Diferència entre revisions de la pàgina «M06UF3Pr1: joc del Pong»

De wikijoan
Salta a la navegació Salta a la cerca
 
Línia 20: Línia 20:
  
 
8. Investigar com funciona l'opció de ''sound'' en el joc, i com es pot incorporar efectes sonors en els vostres projectes de Javascript.
 
8. Investigar com funciona l'opció de ''sound'' en el joc, i com es pot incorporar efectes sonors en els vostres projectes de Javascript.
 +
 +
Acceleració: Dels cursos de física, quan s'estudia el ''moviment rectilini uniformement accelerat'', potser te'n recordes de la fórmula:
 +
<pre>
 +
x = xo + vo*t + 1/2*a*t^2
 +
</pre>
 +
Doncs aquesta fórmula està implementada precisament en aquest tros de codi:
 +
<pre>
 +
    accelerate: function(x, y, dx, dy, accel, dt) {
 +
      var x2  = x + (dt * dx) + (accel * dt * dt * 0.5);
 +
      var y2  = y + (dt * dy) + (accel * dt * dt * 0.5);
 +
      var dx2 = dx + (accel * dt) * (dx > 0 ? 1 : -1);
 +
      var dy2 = dy + (accel * dt) * (dy > 0 ? 1 : -1);
 +
      return { nx: (x2-x), ny: (y2-y), x: x2, y: y2, dx: dx2, dy: dy2 };
 +
    },
 +
</pre>
 +
A vegades es parla de la ''física'' d'un joc (que té molt bona física, per ex). Doncs això és precisament del que es tracta: d'implementar les lleis de la física per tal de què el comportament del joc sigui el més realista possible. Aquí el que es tracta és d'accelerar el moviment d'una pilota per tal de què vagi guanyant velocitat de forma constant.
  
 
=Entrega=
 
=Entrega=

Revisió de 16:52, 23 nov 2021

Introducció

Pong.png

Aquest joc del codi fa un ús intensiu dels events del teclat.

Tasques a realitzar

1. Descarregar el projecte en local i executar-lo

2. Canviar aspectes de disseny: en comptes de pantalla negre i text blanc, fer pantalla blanca i text negre.

3. Localitza els events onkeyup i onkeydown. Per al jugador 1, en comptes de Q-A utilitza Q-Z

4. Canviar la mida de la pala: fer-la més petita

5. Canviar la velocitat de la pilota: fer-la més ràpida

6. Mode fàcil, mode difícil. En el menú de l'esquerra fer un checkbox (per marcar o desmarcar el mode difícil), que implementi o no els canvis que has fet en els punts 4 i 5.

7. Google Fonts: escull una font de Google que sigui adequada al projecte, i incorpora-la en la part del menú.

8. Investigar com funciona l'opció de sound en el joc, i com es pot incorporar efectes sonors en els vostres projectes de Javascript.

Acceleració: Dels cursos de física, quan s'estudia el moviment rectilini uniformement accelerat, potser te'n recordes de la fórmula:

x = xo + vo*t + 1/2*a*t^2

Doncs aquesta fórmula està implementada precisament en aquest tros de codi:

    accelerate: function(x, y, dx, dy, accel, dt) {
      var x2  = x + (dt * dx) + (accel * dt * dt * 0.5);
      var y2  = y + (dt * dy) + (accel * dt * dt * 0.5);
      var dx2 = dx + (accel * dt) * (dx > 0 ? 1 : -1);
      var dy2 = dy + (accel * dt) * (dy > 0 ? 1 : -1);
      return { nx: (x2-x), ny: (y2-y), x: x2, y: y2, dx: dx2, dy: dy2 };
    },

A vegades es parla de la física d'un joc (que té molt bona física, per ex). Doncs això és precisament del que es tracta: d'implementar les lleis de la física per tal de què el comportament del joc sigui el més realista possible. Aquí el que es tracta és d'accelerar el moviment d'una pilota per tal de què vagi guanyant velocitat de forma constant.

Entrega

Li ensenyaràs al professor la teva solució (nota de classe).

Entregaràs en el Classroom la teva solució, amb les captures de pantalla que siguin l'evidència de què has fet tu el codi, que has implementat les tasques que se't demanen, i que s'executa en la teva màquina.


creat per Joan Quintana Compte, novembre 2021