Nous recursos a la web d'Scratch

La web d'Scratch acaba d'estrenar dos nous recursos, que tot i en anglès, considero estan força encertats:
  • Una secció de video tutorial, orientada a nois i noies, que introdueixen l'ús de diferents bloc i tècniques per a programar senzilles aplicacions, a un nivell molt bàsic.
  • Un recorregut guiat, pensat més aviat per a educadors, on es presenten les diferents potencialitats de l'Scratch, il·lustrats per projectes creats pels propis usuaris de la web.
Són dos bons recursos que ens poden ajudar a millorar l'ús i el coneixement de l'Scratch a la comunitat educativa. Una bona manera de celebrar que han superat el milió de projectes pujats a la seva web. Felicitats, i benvinguts siguin!

Recursos: Transparències

Donar transparència al fons d'una imatge ens ajudarà a integrar-la molt millor a l'escenari, de forma que el seu aspecte sigui molt més real. Fixeu-vos a la imatge d'aquí  al costat per entendre-ho.

Els personatges de l'Scratch  ja porten el fons transparent. Si us heu fixa't algun cop al editar-los, haureu vist que el fons no és totalment blanc, sinó que està pintat amb petits quadradets blancs
i grisos, que és l'indicador universal de transparència.

Alguns Cliparts (dibuixets) que ens descarreguem d'internet també tenen el fons transparent. Normalment són imatges en format GIF o PNG.


En canvi les fotos, que normalment estan en format JPG, no tenen el fons transparent, però pots convertir-les amb l'editor de gràfics. Edita-les i pinta el fons amb el color transparent, que és el que es troba a la part inferior esquerra de la paleta de colors. Un cop seleccionat, clica l'eina Pot de pintura, i omple. Les parts que no quedin transparents, les pots esborrar, doncs l'Scratch esborra per transparència.

Programació: variables

Definició

Una variable és com una caixa que on podem guardar dades. Aquestes dades no son fixes, sinó que poden poden anar canviant (variant) al llarg del nostre programa.

Al definir (crear) una variable, cal donar-li un nom, que serà el que utilitzarem per referir-nos a ella durant el joc. En referir-nos a aquest nom, fem referencia també a les dades que conté la variable en aquell moment. El nom seria com l'etiqueta que hem posat fora de la caixa per a que ens recordi que és el que hi ha a dins.

També caldrà assignar (donar) un valor inicial a la variable; si no li en done'm cap, voldrà dir que la capsa és buida, és a dir, la variable no té valor. En programació, de donar aquest valor inicial a la variable en diem inicialitzar.

Per exemple, si definim la variable preu i li assignem el valor inicial 5, multiplicar per preu voldrà dir multiplicar per 5. Però si en algun moment del programa, li sumen 1 a la variable preu, el nou valor de preu serà 6.

Les variables poden ser Globals, és a dir poden accedir-hi i ser cambiades per a qualsevol objecte o personatge del projecte o Locals, que existeixen només per a algun personatge concret, però que pot no existir o bé tenir un valor diferent per a un altre personatge.. Normalment utilitzarem les variables globals, però en treballar amb clons, és molt normal definir les variables com a locals, si volem que a cada clon tinguin valors diferents.

Com treballar amb variables a l'Scratch

Per definir una variable, clica al tipus de bloc Variable i al botó Nova variable. Veuràs una finestra de diàleg, on hem d'introduir un nom per a la variable (l'etiqueta de la caixa). A l'hora de "batejar" la variable, tria un nom que descrigui bé el seu contingut, així els teus jocs seran més fàcils d'entendre, i tu mateix no et "liaràs".


Un cop definida la variable, veuràs que han aparegut els blocs que ens permetran treballar amb ella: fixar el valor de la variable, sumar-hi un valor, i mostrar-la o amagar-la a l'escenari.


A més. veuràs que ha aparegut a l'escenari una casella amb el nom de la variable i el seu valor. Si li fas doble clic, veuràs que pot tenir diferents formes: lectura normal, lectura llarga i amb un lliscador que ens permet ajustar el valor de la variable.



Exemples

En aquest exemple veiem un compte de temps enrere. Primer, inicialitzem la variable a 60 segons, després, cada segon li restarem un. (Ep! El comptador no s'atura... haurem de completar-lo amb un "Si temps=0; atura el bloc").




En aquest altre exemple, veiem un comptador de punts que s'anirà incrementant si fem clic al personatge, fins arribar a 10. En aquest moment, el personatge dirà una frase i tornarem el comptador a zero.


Ara veiem una variable que té definit un valor a l'atzar, en aquest cas, un nombre de dues xifres.


En aquest altre exemple, l'Scratch ens preguntarà dos nombres i els guardarà com a variables. Despres ens dirà la suma. (Dedicat a xavier_g_a).




Programació: atzar

Definició

Un nombre a l'atzar és un nombre triat a sort. En els jocs, utilitzem molt l'atzar per fer-los més divertits: un personatge pot aparèixer a qualsevol lloc, una pilota pot rebotar aleatòriament...


Com crear atzar a l'Scratch

Trobaràs el bloc corresponent a la secció d'operadors. Fixa't que li hem de donar dues dades, el valor mínim i el valor màxim.  Si li fas doble clic al bloc, veuràs com ens torna un nombre al atzar entre les dues dades.

Veiem que el bloc d'atzar té les vores arrodonides, i no té cap pestanya per encaixar en d'altres bloc, això vol dir que només el podrem col·locar com un paràmetre (una dada) dins d'altres blocs, però mai podrà anar ell tot sol.


Exemples

En aquest exemple, Scratch anirà dient números a l'atzar entre 1 i 10.





En aquest altre exemple, en clicar l'Scracth, saltarà a qualsevol altre lloc de l'escenari a l'atzar. Els límits de l'escenari van des de -240 (esquerra) fins a 240 (dreta) i des de -180 (a baix) fins a 180 (a dalt).

Programació: sensors

Definició

Un sensor és una part del programa que està analitzant un fet concret, a l'aguait d'alguna cosa. Necessitarem sensors per saber quan passa alguna cosa, i llavors fer que el programa respongui d'alguna forma.

Normalment el sensors ens retornen (ens responen) Fals, si allò que analitzen no passa, i Veritat, si allò que analitzen està succeint. També hi ha sensors que responen amb una dada numèrica: una distància, una posició...


Com treballar amb sensors a l'Scratch

Existeix tota una col·lecció de blocs sensors a l'Scratch. Segon el que analitzin, tindran un tipus de resposta o un altre. A l'Scratch podeu saber que respon cada sensor fent-hi doble clic.

Els sensors no van mai sols, si no que han d'anar sempre encaixats dins d'un altre bloc, per això no tenen pestanyes, sinó vores punxegudes si són de resposta Veritat/Fals o arrodonides si ens responen una dada numèrica.

Sensors de contacte

Ens ajuden a saber si un personatge està en contacte amb el ratolí, amb algun altre, amb la vora de l'escenari, amb algun color...

Normalment els col·locarem com a arguments  d'estructures de control condicionals: si està tocant un color, rebota.






Sensors d'estat
Avaluen l'estat del teclat o del ratolí. Si s'està prement el botó principal del ratolí o una tecla, responen Veritat, i si no, responen Fals.

El sensor "ratolí x" ens retornen la posició del cursor del ratolí en sentit horitzontal i "ratolí y" ens la retorna en posició vertical.





Sensors d'animació
S'encarreguen de donar-nos dades de l'animació: la seva posició, la direcció en la que apunta, la seva mida o el número de vestit que porta. També ens poden dir la distància a una altra animació o al punter del ratolí.


Exemples

El primer exemple és el típic sensor que analitza si l'usuari està prement la fletxa a l'esquerra o a la dreta per moure el personatge. Tot i que es poden definir moviments amb els blocs de control, es mouen de forma molt més natural amb els sensors.


En aquest exemple, el sensors envien la posició del ratolí i fan canviar la mida o el color del personatge a mida que el desplacem.


Per al proper exemple, dibuixa una línia horitzontal de color blau a la part baixa de escenari. Quan introdueixis el bloc del sensor, clica la pastilla de color i amb el comptagotes clica la línia de color blau per seleccionar el color. El programa farà rebotar l'animació una i una altra vegada. Alguna cosa semblant faríem servir en un laberint, en una pista de cotxes, en un joc de tipus plataforma...



No tocarem en aquest apartat les preguntes i respostes ni els sensors de plaques robòtiques.

Intencions

Crear Jocs amb l'Scratch pretén ensenyar als nens i nenes que programar jocs no és tant complicat com sembla. Per això fem servir l'Scratch, un progamari creat al MIT, que segueix els plantejaments constructivistes del LOGO portant-los encara més enllà.

La metodologia del projecte parteix de la idea (imagina) que volem portar a terme*.

Després venen la planificació, el desenvolupament i  l'experimentació (crea experimenta), un procés dinàmic, en el que l'alumne es formula preguntes, planifica i identifica processos i possibles dificultats, transfereix coneixements previs, cerca informació, realitza proves d'assaig-error, posa en comú problemes i solucions amb els companys...

Un cop acabat el projecte, es tracta de que el donem a conèixer (comparteix), bé sigui simplement ensenyant-lo als nostres companys o publicant-lo a la web, i acaba amb la reflexió (reflexiona) sobre l'assoliment de l'objectiu inicial, però també sobre el procés seguit, sobre el què hem aprés...

Com veieu, l'objectiu no és aprendre a programar, sinó aprendre a pensar, tot potenciant la creativitat!

Per tot això, ens proposem:
  • Que els alumnes es proposin una fita abastable (l'elaboració d'un joc concret) i que l'assoleixin.
  • Fomentar el pensament creatiu, pràctic i cooperatiu. 
  • Afavorir entorns on l'assaig-error fa possible arribar a solucions, i descobrir que aquestes poden no ser úniques.
  • Fomentar la creativitat, la cooperació i la interacció entre els alumnes.
  • Introduir de forma lúdica als alumnes en conceptes senzills de programació.
  • Fer dels nens/nenes usuaris actius del món dels jocs, i per tant, més crítics.
Partirem d'exemples senzills, explicant de forma molt planera allò que calgui per que l'alumne pugui anar desenvolupant el seu joc en una primera fase. Després li donarem pistes per tal que pugui millorar-lo, enriquir-lo i personalitzar-lo d'una forma molt més lliure i creativa. És el mateix procés que ells ja fan servir per a crear estructures i personatges amb el LEGO o altres jocs de construcció: creació per modelatge i posterior recreació i millorar lliure.

*  En aquest cas concret, la idea és la creació i la millorar d'un joc concrets, però es pot aplicar el mateix esquema que per a la la creació d'un projecte totalment lliure.

Globus-pong

El pong és un dels primers videojocs que és va crear. Aquesta és una versió per a un sol jugador en la que hem substituït la piloteta per un globus. 


Mou la paleta amb els cursors
Veure aquest projecte a la Web de l'Scratch


Necessitaràs 
Per a la versió més bàsica del joc només necessitaràs dues animacions i un escenari:
  • La pala portarà el moviment 
  • El globus, que tindrà dos vestits: inflat i esclatat. Portarà un sensor per rebotar en tocar la pala i un altre per esclatar en tocar les punxes.
  • L'escenari amb punxes. El color de les punxes serà el que farà esclatar el globus, utilitzant condicionals.
Programa per al globus
El moviment de descens inicial del globus el generem amb un nombre a l'atzar, ja que si el definíssim amb apunta en direcció avall, el globus baixaria sempre recte, i el joc resultaria molt avorrit. També introduïm una mica més d'atzar en fer rebotar el globus: als 180 graus, que seria un rebot perfecte, hi afegim una mica d'efecte.

Utilitzem dos tipus diferents de sensors de contacte: Tocant animació, per saber quan el globus toca la pala i fer-lo rebotar, i Tocant color... per saber quan ha arribat a terra i fer esclatar el globus.



Què més puc fer?
  • Afegeix efectes de so al programa o música de fons
  • Millora els gràfics de les animacions, de l'escenari...
  • Afegeix un comptador de temps o un comptador de vides, definint una variable.

Enganxines

Segur que heu jugat algun cop als stickers (enganxines) d'algun tema: dibuixos animats, pel·lícules, personatges... Nosaltres hem triat els Pirates, però tu pots fer-ho amb el tema que més t'agradi.


P=Enganxa | V=Canvia enganxina | C=Color
Amunt i avall=Canvia mida | Dreta i esquerra= Canvi orientació
Veure aquest projecte a la Web de l'Scratch


Necessitaràs
Abans de començar a cercar les imatges pensa bé el tema general del teu joc d'enganxines. Pot ser que vulguis! Un cop ho tinguis, busca:
  • un escenari que farà de pàgina
  • una animació, amb 3 o 4 vestits, que seran les enganxines
Pots importar les enganxines del Google, però després et caldrà fer el fons transparent. Cal que pintis allò que vulguis que no es vegi amb transparència. També pots buscar imatges en format GIF o PNG, que moltes vegades ja tenen el fons transparent.

Programa per a l'enganxina
Les tecles que activin cada funció pots decidir-les tu mateix. Recorda que hauràs d'explicar-les a les notes del projecte per tal que l'usuari sàpiga que ha de fer.

 
Exemple de vestits per a les enganxines

Què més puc fer?
  • Crea diferents escenaris i un programa per a canviar-los
  • Fes que es pugui canviar la mida de les enganxines
  • Fes que es pugui canviar el color de les enganxines o algun altre efecte 
  • Afegeix efectes de so o una música de fons