Explicació del codi pong
El primer que explicaré és com funciona una pala intel·ligent:
Here's how to make a list:
- Mira el dibuix de més amunt. Has d'entendre que la pala intel·ligent s'anomana aiPaddle per les sigles en anglés artificial intelligence Paddle. No oblidis que aquesta pala seguiex de form automatica a la bola i sempre guanyará. El jugador té una altre pala que s'anomena playerPaddle que pot moure amb les fletxes del teclat.
- El primer que hem de fer és situar el centre de la pala intel·ligent respecte a la alçada o eix y perqué he de comparara tota la estona aquest centre de la pala intel·ligent anomenat middle of Paddle amb la posició y de la bola (ball.y). Si ball.y és mes gran que middleofPaddle, el que he de fer, es baixar la pala. Si ball.y és més petita que middleofPaddle, el que hem de fer és pujar la pala.
- L'anterior s'aconsegueix primer definint middleofPaddle amb codi: let middleofPaddle = aiPaddle.y + aiPaddle.height/2;. Aquesta línia s'escriu així perque necessito calcular la posició de la meitat de la pala intel·ligent. Recordem que el 00 es la contanada superior esquerre i la pala intel3ligent està a la cantonada esquerra i la pala intel·ligent està all costat esqquerre. Per arribar al centre de la pala intel·ligent hem de sumar des de 00 fins a l'extrem superior de la pala (es diu aipaddle.y) amb l'extrem superior
miau
per saber cua xoca la bola i la pala he de calcular el front de la bola i el front de la pala perque son les parts que xocaran. el front de la bola es calcula restan boll.r i boll.r perque amb el boll.x calcula fins al centre de la bola. si xoca amb l'altra pala hem de calcular una altre front de bola i ara el calcul es diferent: vall.x +ball.r. La pala el seu calcul del front es totalment diferent de la pala de la dreta que la de la esquerra. la pala de la esquerra es intl·ligent i per calcular el seu front faig aipaddle.x + aipaddle.width el frent de la pala del jugador seria playerpaddle.x perque no hem de sumar l'amplada perque sino xocaria per darrera.
la puntuacio ha de cumplir les condicions de la pala no xoqui amb la bola i que sobrepassi aipaddle.x o playerpaddle.x + playerpaddlewidth
miau