14 Des

#AprendeProgramando 5 – Blocs avançats

Aquesta cinquena i última setmana de curs s’enfoca a blocs més avançats que els de la setmana anterior. Veurem la motxilla, les variables i els blocs “Més blocs”. Per a l’optimització he creat dos remix del projecte original del curs: aviam si us agrada :)

MOTXILLA

A la part inferior dreta del nostre projecte trobarem una pestanyeta denominada motxilla, un espai on guardar trossos de codi o, fins i tot, personatges sencers (amb tots els vestits, sons i codi). Només cal arrossegar els blocs o els personatges a dins la motxilla. Un cop siguin allà, cada cop que obrim un projecte, podrem disposar d’aquests blocs o personatges per implantar-los qualsevol altre projecte. Mola, eh?

Crec que ho van implementar a l’última versió, l’actual Scratch 2.0 (a desembre del 2015). En aquesta darrera versió es va incorporar també els clons i els blocs “Més blocs”, de color lila fosc. Aquesta opció permet optimitzar codi i evitar programes duplicats.

“MÉS BLOCS” I OPTIMITZACIÓ

He fet dos remix del projecte original del curs per mostrar com funciona el tema del “Més blocs”. El joc consisteix en que el jugador és la Rateta i ha d’evitar que el Gatet la caci. Cada vegada que el gat toca la rateta, se suma*** un punt al marcador. Si el marcador arriba a tres punts, el joc s’acaba. A la segona versió, he eliminat que el fons vagi canviant de color i n’he dibuixat un per al Game Over. Els remix els he titulat:

El gato y el ratón 1 [remix sin optimizar]. Als dos projectes el personatge es mou igual. Realment, l’optimització és imperceptible a l’ull humà però sí és important per a la màquina. En aquest primer projecte sense optimitzar ens haurem de fixar en el personatge “Rateta”. Veurem que té ordres de “que si cliquem les fletxes del teclat, la rateta apuntará en la direcció de les fletxes”.

Concretament, el que li diem amb programació són quatre ordres diferents determinades per esdeveniments, els blocs de color marró fosc que porten un barret: si es clica dreta/esquerra/amunt/avall, la “Rateta” es dirigirà a dreta/esquerra/amunt/avall i que, després, canviarà el vestit, rebotarà si toca una vora i avançarà 10 passes.

Semana_5_gato_raton_1

El gato y el ratón 2 [remix optimizado]. En aquest projecte, ens estalviarem blocs. Enlloc de posar “canviar vestit “i “rebotar si toca una vora” a tots els blocs, en crearem un de nou que definirà aquests dos comportaments dins un mateix bloc.

Ho he deixat tal com ho ha posat el Migue. La caselleta del “Més blocs” titulat “Move”, porta un numéro 10 dins. Això ho ha fet per si, en algun moment del joc volem canviar les passes del ratolí, doncs, poder-la modificar des del bloc “Move” i no des de tots els blocs de direcció de les fletxes.

Però si posem el “Més bloc” sense número i li diem “Moure 10 passes”, no cal ni posar “Move 10 passes” a cada bloc direccional (dreta, esquerra, amunt i avall). Només posant la direcció i el “Més bloc” anomenat “Move”, ja faria el fet, és a dir, que faria exactament el mateix. Això, però, només en cas que, durant tot el joc, s’hagi de moure 10 passes.

***Al joc original estava programat així i així ho he deixat. Ara bé, no descarto posar la puntuació a 3 i redefinir-la com a “vides” enlloc de punts. Si ho faig, hauré de modificar també blocs del Game Over al personatge “Gatet”. I enlloc de sumar, restarà.

Semana_5_gato_raton_2

VARIABLES

També en aquesta unitat es presenten les variables. En la meva experiència, la manera més senzilla d’entendre-les és a través d’un exemple de puntuació en un joc. Normalment, al començar un joc, la puntuació del nostre marcador serà sempre zero. Però el nostre resultat final no té perquè ser zero sinó que variará en funció de si aconseguim els objectius del joc. Ho acabem de veure amb el joc del gat i el ratolí, però posem un altre exemple…

…Suposem que hi ha un joc que consisteix en recollir pomes que cauen d’un arbre. El joc és senzill: a la pantalla apareix dibuixat un arbre i, aleatòriament, van apareixent i caient pomes de l’arbre (de dalt a baix de la pantalla simulant gravetat i en honor a Newton i la seva pomera :).

Si es recullen les pomes abans que caiguin al terra, se sumarà un punt al marcador per cada poma recollida; però si les pomes cauen al terra, es restarà un punt per cadascuna de les pomes que no has aconseguit agafar. Com veiem, el resultat és variable i depèn de les nostres habilitats al joc.

Aquí l’exemple a Scratch. L’objectiu del joc és aconseguir 3 punts.

 

CÀMERA, SO, CLOUD DATA

Es controla des de sensors, des d’on s’activarà la web cam. Els projectes que utilitzen el so del micròfon o la càmera per interactuar amb l’usuari, sempre avisen. Al clicar la bandera verda d’un projecte que incorpori càmera, micròfon o “cloud data” Scratch avisa als usuaris.

Afegir que només es pot tenir accés a les variables de “cloud data” quan ja s’és “Scratcher”, és a dir, que ja has fet alguns projectes amb Scratch. Si acabes d’aterrar a la comunitat no podràs fer-ho servir. Però ves fent projectes i, un bon dia, a l’apartat dels blocs de les variables, veuràs un nuvolet. A partir de llavors, ja ho podràs fer servir per exemple, per recordar-te i actualitzar millors temps en un joc, per exemple.

Es demana fer un Pong com a projecte final.

Bé, i fins aquí aquest curs d’introducció a Scratch. En Migue en prepara un altre de nivell intermig però no sé quan el treurà.

¡Chimpún!

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *