💾 Archived View for gamifi.cat › blog › 2015-10-07_computacional_escuela_2 captured on 2024-02-05 at 10:04:33. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-03-20)

-=-=-=-=-=-=-

Inici

Blog

Projectes

Glossari

Contacte

Pensament computacional a l’escola: llenguatge i entorn

En aquest curs es fa una introducció al pensament computacional, presentant els conceptes principals i la seva aplicació al nostre entorn quotidià. A més, s’implementaran aquests conceptes en l’entorn de programació d’Scratch.

Primitives, combinaciĂł i abstracciĂł

El llenguatge és un instrument fonamental per al pensament. Amb ell podem crear idees i transmetre-les per comunicar amb els altres. Un llenguatge d’ordinador és un llenguatge formal artificial que presenta tres mecanismes bàsics: primitives, combinació i abstracció.

Les primitives són unitats bàsiques, en el cas d’Scratch són els blocs que es poden anar arrossegant i agrupant per tal d’encaminar les accions. Les primitives d’Scratch s’agrupen en 4 tipus: comandaments (presenten pestanya per combinar o apilar blocs), funcions (blocs arrodonits o punxeguts que retornen un valor relatiu a l’objecte), estructures de control (forma de “C” que permet repetir valors determinats o prendre decisions si una condició es dóna o no), i els esdeveniments (arrodonits de dalt i a baix pestanya per connectar).

El mecanisme de combinaciĂł permet agrupar les primitives a partir de les regles del propi llenguatge de programaciĂł. A mesura que anem combinant blocs anirem creant el projecte i escrivint el programa. El tipus de dades que usa Scratch sĂłn de tipus booleĂ , nĂşmero o una cadena de carĂ cters.

Finalment, el mecanisme d’abstracció permet compactar sota un mateix nom un grup de primitives que creen una nova primitiva. Scratch 2.0 permet crear els nostres propis blocs a partir de les primitives que es presenten o creant les pròpies. Scratch és programari lliure i es pot modificar. I això permet que més gent hi treballi de manera voluntària. De fet, una de les iniciatives més destacades és Snap!, desenvolupat a la Universitat de Berkeley. Scratch funciona amb flash i no es pot usar als mòbils (de moment, s’està treballant…) en canvi, Snap!, és una derivat d’Scratch adaptat directament també per a entorns mòbils.

Entorn de programaciĂł

L’entorn de programació és on es pot escriure i executar els programes. En el cas d’Scratch, es presenten dos pantalles: a l’esquerra es visualitza el projecte que s’està creant, i a la dreta es pot crear el projecte a través de tres pestanyes: programació, vestits i so. A sobre de les pantalles trobem el menú on canviar l’idioma, accedir al nostre perfil, guardar projectes, etc. Sota de les pantalles hi ha una motxilla que permet guardar blocs per a ser utilitzats en altres projectes que estiguem creant. Crear un projecte és escriure un programa i l’entorn és molt intuitiu.

Els fons o escenaris es dissenyen i programen separadament als objectes. Trobarem aquest apartat “Escenari” al costat esquerra dels objectes o Sprites, sota la pantalla de l’esquerra on s’executa el programa. Clicant allà, trobem que, al igual que els objectes, l’escenari té pestanya de programació, de vestits i de so.

Els blocs tenen diferents colors en funció de la seva naturalesa, cosa que permet fàcilment identificar-los. A més, al crear un compte a Scratch s’accedeix a una gran comunitat online amb tot tipus de projectes que es poden reutilitzar. Al primer projecte es farà un pong d’un jugador. Som-hi!

CreaciĂł del joc Pong

Pong és un dels videojocs més antics. Jo el recordo en un Spectrum d’aquells de cassette… El joc consisteix en dues pales o raquetes (cadascuna controlada per un jugador) que s’han d’anar passant la pilota. Un tenis de tota la vida però simplificat en digital. El Pong que farem, però, només presenta una paleta i, per tant, és només per a un jugardor.

A través d’aquest joc ens familiaritzarem amb els moviments dels objectes a l’escenari controlant el moviment, farem interactuar objectes i afegirem efectes de so i gràfics. El plantejament del problema presenta múltiples processos a executar i els he resumit en quatre passes (veure programació Pong un jugador):

1. Crear una pilota que rebota a les cantonades de l’escenari. A l’iniciar un projecte a Scratch, per defecte, apareix el gat Scratch com a Sprite o Objecte. Podem modificar-lo clicant a sobre de la pantalla de la dreta, on diu “Vestits”. Allà tenim un editor gràfic per dibuixar la nostra pròpia pilota o importar altres pilotes: tan dels recursos d’Scratch com de qualsevol imatge que tinguem a l’ordinador.

A més crear la pilota a l’editor gràfic, hem de crear dos scripts amb els blocs (a la pestanya de programació que hi ha a sobre de la pantalla de la dreta, tot just a l’esquerra de la pestanya “vestits”): un dels scripts serveix per a donar una posició inicial de la pilota i l’altre per aplicar-li el moviment. Com es veu, és un llenguatge de programació gramatival anomenat també pseudocodi perquè es programa sense escriure directament les línies de codi.

El primer script diu que, quan es cliqui la bandera verda (que és com s’executen els programes a Scratch), que l’objecte vagi a les coordenades x (15) i y (150) i que apunti en la direcció indicada. En aquest cas, un número a l’atzar entre 150 i 220.

Al següent bloc, se li diu que, quan es cliqui la tecla d’espai, per sempre, es mogui 10 passes (10 pixels) i, si toca una cantonada de l’escenari, reboti.

blocs-pong-pilota [IMG]

2. Crear una paleta que es mogui amb el ratolĂ­ del jugador.

Primer haurem de crear un nou sprite o objecte. El podem titular “paleta” i fer servir l’editor per dibuixar un rectangle des de la pestanya de “vestits”. A la pestanya de programes, posem que per sempre, es fixi la x al moviment del ratolí quan es pressioni la tecla espai.

blocs-pong-paleta [IMG]

3. Farem que la pilota reboti a la paleta.

Tornem a l’objecte pilota i afegim el següent script. El gir fa un efecte més realista a la pilota. El so pop sonarà cada vegada que la pilota toqui la paleta.

blocs-pong-pilota-rebota [IMG]

4. Fer finalitzar el joc quan la pilota toqui al terra.

També a dins de l’objecte pilota, afegirem la manera de finalitzar el joc. Posarem un terra del color que vulguem i després donarem la instrucció a la pilota que, quan toqui aquest color, aturi el projecte i tots els seus scripts. A més, sonarà una campana que serà pràcticament imperceptible. Per sentir-la sencera o més tros, entre el “tocar so” i el “aturar so” es podria posar un “y espera” o un “espera X segons”.

blocs-pong-pilota-fi [IMG]

Activitat

Haurem de crear un Pong amb dues pilotes. La nova pilota es comportarà com la primera, rebotant a les cantonades i a la paleta, i emetent un so quan toqui la pilota. A més, si les dues pilotes interactuen, hauran de dir un missatge.

Veure el Pong al web d’Scratch

Mòdul3. Programació: conceptes i mètodes (projecte: Pong 2 jugadors)