Pla de treball
- Tipus de rebots
- Angles
- Girs dels personatges
Rebot natural
A la sessió anterior hem vist com podem fer que la pilota reboti amb la raqueta, ara bé, ho hem programat de manera que la pilota surt en sentit contrari o bé rebota prenent una direcció aleatòria. Amb cap de les dues opcions la pilota fa un rebot natural, com el faria a la realitat.
Fem-ho pas a pas
- Entrem al nostre compte de l’Scratch, obrim el projecte m2repte21 i el desem com a m2repte31
- Per calcular la direcció de sortida de la pilota hem de tenir en compte que l’angle d’entrada ha de ser el mateix que el seu angle simètric, tal i com veiem en aquesta imatge:
- Podem veure també que l’angle d’entrada (o el simètric, que és el mateix) més l’angle de sortida sumen 180º:
- Podem calcular, doncs, l’angle de sortida de la pilota amb la fórmula angle de sortida = 180 – angle d’entrada. Per exemple, per un angle d’entrada de 60º li correspondria un angle de sortida de 120º
- Fixem-nos, però, que no és el mateix el valor de l’angle que la direcció del personatge. Si recordem “la rosa dels vents” de les direccions dels personatges de l’Scratch, per un angle d’entrada de -135º li correspondria un angle de sortida de -45º:
- Si apliquem la fórmula anterior als valors de les direccions de la “rosa dels vents” ens trobarem que angle de sortida = 180 – (-135) = 315 (fixem-nos que quan tenim dues restes, en realitat el que fem és sumar). Ara bé, aquests 315º no són els -45º que prevèiem a la “rosa dels vents” de les direccions
- El que passa és que aquesta “rosa dels vents” de les direccions no és fixa, sinó que és cíclica, i pot prendre diferents valors:
- Així doncs, els 315º que hem obtingut com a resultat de la fórmula es corresponen amb els -45º que havíem previst que obtindríem com a resultat
- Fixem-nos que a qualsevol dels valors de la “rosa dels vents” de les direccions podem sumar-li o restar-li 360, que són els graus que té una volta sencera de circumferència, i continuarà funcionant correctament
Modifiquem el projecte m2repte31 de manera que sigui quina sigui la direcció d’entrada hi hagi un rebot natural de la pilota contra la raqueta.
Pista: Per saber en quina direcció està orientat un personatge hem de fer servir aquest bloc:
I si la raqueta és vertical?
Hem vist com ho podem fer per controlar el rebot de la pilota quan la raqueta és horitzontal. La solució sempre és així?
Fem-ho pas a pas
- Continuem amb el projecte m2repte31
- Dupliquem el personatge de la raqueta i, des de la pestanya del vestit la seleccionem i la girem 90º:
- Anem ara a fer el programa d’aquesta raqueta vertical de manera que la pilota tingui un rebot natural. Si mirem la “rosa dels vents” de les direccions veurem que la fórmula que hem fet abans ara no ens serveix
- Ara bé, si ens hi fixem bé podem veure que quan la direcció d’entrada és 135 la de sortida ha de ser -135 i a l’inrevés. Verifiquem si això funciona per a qualsevol direcció d’entrada:
Modifiquem el projecte m2repte31 de manera que tinguem les dues raquetes visibles (l’horitzontal i la vertical) i, sigui quina sigui la direcció d’entrada, hi hagi un rebot natural de la pilota contra la raqueta.
Pista: La raqueta horitzontal ja la tenim solucionada. Per a la raqueta vertical, quina operació podem utilitzar per convertir un nombre en el mateix nombre però amb el signe canviat?
El nostre projecte creix…
Ara que hem vist com podem fer rebotar la pilota de forma natural controlant l’angle d’entrada i l’angle de sortida, hem de decidir quins obstacles afegirem al nostre pinball on rebotarà la pilota mentre es desplaça. Aquests obstacles seran, en realitat, personatges que podem dibuixar nosaltres, triar de la galeria o pujar mitjançant una fotografia. Hem d’afegir a la definició del nostre projecte els obstacles que afegirem i on els situarem.
Com que som programadors i programadores parlem de…
- Angle d’entrada: angle que forma la pilota amb la raqueta quan hi arriba.
- Angle de sortida: angle que forma la pilota amb la raqueta quan surt rebotada. Es calcula restant l’angle d’entrada a 180º.
- Rosa dels vents: esquema que ens permet trobar l’equivalència entre l’angle de sortida que hem calculat i la direcció del personatge