2. Guia 2: autòmats

2.5. Sistemes autònoms

2.5.2. Variables

En programació es fan servir variables per a anar guardant dades que necessitem. Són com calaixos on podem desar números o cadenes de caràcters. Hi podem accedir quan volem, comprovar-ne el contingut i/o canviar-lo.

Amb Snap! és molt fàcil crear variables i utilitzar-les. Aquest són els blocs que podem fer servir per a gestionar-les.

Fent clic a «Crea una variable», en podem crear una de nova, a la qual haurem de donar un nom, i decidir si serà accessible només des del personatge on l’estem creant o també des de tots (en general, per a programes no gaire complexos, l’opció accessible des de tots serà la més còmoda). 

Un cop creada, la nova variable ens apareixerà en aquest mateix menú i ja la podrem fer servir. 

Veurem com s’utilitzen amb un exemple molt senzill. És un projecte on hi ha dos personatges: una bola rosa i una de blava. Aquestes boles és mouen tota l’estona per l’escenari, i cadascuna té associada una variable que va comptant el nombre de vegades que hi hem fet clic a sobre amb el ratolí. A més, hi ha una tercera variable que mostra tota l’estona la suma de les altres dues variables.

Per a fer-ho, hem de començar creant dos personatges, en aquest cas dos cercles de diferents colors. Ho podem fer exactament igual que hem fet en crear el rectangle de l’exercici inspirat en Hugonin. Després hem de crear les tres variables: una que es digui «rosa», que guardarà el nombre de clics fets sobre el cercle rosa; una que es digui «blau», que guardarà el nombre de clics fets sobre el cercle blau, i una que es digui «total», que guardarà la suma del clics en tots dos cercles. A partir d’aquí, la programació és molt senzilla.

Veure el codi.

El codi mostrat és per a programar el cercle rosa. Fixem-nos que inicialitzem el valor de la variable «rosa» a 0, i diem al personatge que es mogui per sempre. Després, fent servir un bloc d’esdeveniments, establim que, «quan es cliqui aquest personatge», sumem 1 a la variable. I assignem per sempre a «total» el valor de «rosa» més «blau».

El cercle blau el programem exactament igual, però no ens cal anar actualitzant la variable «total». Només cal que ho fem en un dels personatges. Passar codi d’un personatge a l’altre és molt fàcil. Només cal que arrosseguem els talls de codi que vulguem sobre el personatge on volem que apareguin. Això fa més àgil la programació quan hi ha molts personatges que fan accions iguals o similars.

Tindrem, doncs, dos personatges funcionant en paral·lel (els dos cercles), però, a més, en el codi del cercle rosa hi ha dos petits programes que s’engeguen amb la bandera verda i que funcionen en paral·lel tota l’estona: un per a inicialitzar la variable i anar movent el cercle, i l’altre per a anar actualitzant el valor de «total».

Repassem, doncs, tot el que hem après amb un exercici on farem servir bucles, aleatorietat i variables.