Scratch. Bucles

En aquesta pràctica aprendràs l’estructura repetitiva.

Per on comencem? Mira els primers 32″ d’aquest vídeo . Queda clar què és un bucle? Els bucles els fem servir quan volem que un element faça una acció repetitiva.

Per exemple, aquest personatge volem que canvie de lloc 5 vegades a una posició aleatòria.

Amb el que sabem fins ara, ho podríem implementar tal com mostra la imatge de l’esquerra.

En aquest cas són només unes poques repeticions. Però què passa si es necessiten repetir centenars de vegades? I si són moltes les instruccions les que es repeteixen moltes vegades? El programa seria molt llarg i molt difícil de llegir. I si el necessitem canviar?

En la imatge anterior, ens hem de fixar que hi ha un bloc d’instruccions que es repeteix. Sí, ho has vist bé: . Per tant podem utilitzar l’estructura del bucle. Una vegada identificat el bloc d’instruccions, només hem de dir-li al bucle quantes vegades es repeteix. . Així de fàcil. Aquest bucle s’executarà 5 vegades. I quines instruccions executarà? Les que estan dins del bucle. La condició de parada d’aquest bucle és que s’arriben a les 5 repeticions.

En el bucle anterior sabem des d’inici el nombre de voltes que s’ha d’executar, i hi ha vegades que depèn de que es complisca una condició. Per exemple: . Aquest bucle s’executarà fins que el personatge toque la vora. Pot ser 1000 vegades o 1, tot depèn què determine l’acció d’anar a la posició aleatòria. La condició de parada d’aquest bucle és el fet que el personatge toque la vora.

Per on seguim? Obri un projecte nou, insereix un personatge (si no t’agada el gat), busca un fons d’escenari, implementa les següents instruccions i comprova què fan.

Fixa’t bé a la disfressa de l’inici del joc i després d’executar-lo. On està el personatge? La disfressa és diferent?

Canvia el codi font del programa per aquest conjunt d’instruccions. Executa’l i comprova el resultat.

  1. Pareix que el personatge tinga vida?
  2. Què passa si lleves l’última instrucció?
  3. Quina utilitat té aquesta última instrucció?

Abans de canviar el programa, mira la imatge de l’esquerra i intenta fer prediccions de què farà el programa:

  1. On estarà el personatge a l’inici del joc?
  2. En cada iteració del bucle el persontage anirà recte o estarà girant?

Executa el programa i comprova si les teues prediccions han sigut certes. Tens clar perquè passa el que està passant?

Analitza el codi proposat en la imatge.

  1. En què canvia respecte a l’anterior?
  2. Quin comportament tindrà aquest bucle?
  3. Quina és la condició de parada? Quan pararà?

Canvia el codi font del teu programa i comprova què ocorre.

Analitza el codi proposat en la imatge.

  1. Quantes vegades s’executarà el bucle?
  2. Quina és la condició de parada? Quan pararà?
  3. El personatge va recte o avança girant?

Canvia el codi font del teu programa i comprova si les teues prediccions han resultat acertades.

I ara què? Implementa un joc senzill de persecució. Aquest són els passos que he seguit jo.

Objectiu: el robot ha de pillar la gema.

El meu escenari principal és l’espai.

El personatge prinicipal del joc serà el robot.

La pedra será l’objecte que va fugint.

El robot es controlarà amb les fletxes del teclat.

En la imatge tens els blocs necessaris per a implementar-lo.

A l’inici del joc, el robot estarà al racó inferior dret.

La gemma ha d’anar botant d’un lloc a altre de forma aleatòria fins que el robot no la toque.

Una vegada s’han tocat, l’escenari canvia al de final de joc i la gemma desapareix.

I si tinc ganes de més? Canvia el comportament de Robot perquè quan canvie l’escenari al final, el robot desaparega.

  1. Quin esdeveniment has hagut de implementar?
  2. Quina modificació has hagut de fer perquè el robot estiga visible a l’inici de la partida?

"edutictac.es