Es mostren els missatges amb l'etiqueta de comentaris llistes. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris llistes. Mostrar tots els missatges

Simon

El Simon és un joc de memòria visual i auditiva, en el que el jugador ha de repetir una seqüència aleatòria que es mostra cada cop més ràpid. En el nostre cas, farem una variant força musical, treballant amb notes i tempo. No és un joc massa complicat de programar, però és convenient haver treballat abans la lògica de la programació per objectes, les llistes, els condicionals i l'enviament de missatges en projectes previs.

El joc

Veure Simon a la web d'scratch

Com es fa?


Què necessites?

A banda de altres elements comuns de programació, necessitarem:
  • Els 4 botons. Cada un d'ells reaccionarà tant al missatge enviat per la seqüència com a l'esdeveniment de ser premut per l'usuari.
  • Una llista que serà la seqüència a repetir. Aquesta llista la anirem omplint amb elements a l'atzar (de 1 al 4) que representaran els botons a l'usuari ha de prémer. També haurem d'anar comprovant la llargada de la llista, per saber quan hem d'afegir nous elements.
  • Una variable que ens faci d'índex, que indicarà amb quin element de la llista estem treballant en aquell moment.



L'enviament de missatges té aquí un ús especial, ja que no enviem missatges fixes, si no l'element corresponent de la llista, indicat per l'índex.

Què més puc fer?

  • Pots augmentar la quantitat de botons a 5 o 6.
  • Pots variar els intervals musicals o les notes per formar una altre arpegi (major, menor, disminuït...) dels botons.
  • Afegeix una presentació al joc.
  • Afegeix un marcador que indiqui el nivell en el que estem (atenció... no és l'índex!).
  • Fes una versió amb sons d'animals, de diferents instruments musicals, etc...
  • Fes una versió per repassar els colors en anglès o en francès.
  • Fes una versió per a MakeyMakey o per a Arduino Esplora o altre controlador arduino.


Un cop hagis acabat el joc, no t'oblidis de compartir-lo i afegir-lo a l'estudi de Simon. Allà pots veure altres exemples, agafar idees i comentar-los.






Programació: Llistes

Definició


Les llistes són contenidors de diferents elements d'informació. Aquests elements estan indexats, que vol dir que tenen associat un nombre d'ordre segons la posició que ocupen a la llista. Per tant, podrem referir-nos a ells per l'ordre que ocupen: el tercer element de la llista dies de la setmana és dimecres. Per tant, ens podem imaginar una llista com un àlbum de cromos, on podem accedir a cada cromo pel seu número; tot i això, a diferència dels àlbums, podem canviar cada cromo de posició, eliminar-lo de la llista, afegir-ne de nous...

Altres llenguatges de programació presenten estructures semblants a llistes: arrays, vectors, matrius... tot i que segons el llenguatge, pot haver-hi forces diferències d'un concepte a l'altre.

Com crear llistes a Scratch

Per crear una llista anem als blocs de dades i cliquem el botó Crea una llista. Com en el cas de les variables, haurem d'especificar el nom de la llista, i si és local o global. Un cop creada la llista, apareixeran els blocs que ens permet gestionar-la.

Per defecte, veurem la llista a l'escenari. Com fèiem amb les variables, podem amagar-la o no, clicant la casella de selecció de davant del nom de la llista. Un cop creada, la llista apareix buida, però podem omplir-la directament al seu monitor, clicant el signe +  i escrivint els diferents elements. També els podem eliminar directament clicant l'element i la creu que apareix al seu costat. 

Com gestionar llistes a Scratch

Les llistes, al igual que les variables, quedaran en l'estat en que estiguin en el moment de desar el programa. En alguns casos, això ja ens està bé, però en alguna ocasió ens pot interessar que el mateix programa canviï, afegeixi o suprimeixi elements. Per això tenim els diferents blocs de gestió de llistes, que ens permetrà crear-les al mateix programa, de forma que ens assegurem sempre de la integritat de les dades.


Veieu que podem afegir, eliminar o canviar qualsevol element de la llista (el primer, el darrer o qualsevol triat a l'atzar). També podem localitzar un element de la llista segons el seu índex, o bé, obtenir la llargada de la llista. Tots aquests blocs ens ajuden a modificar la llista segons ens convingui per a la creació del nostre programa.

Podem també importar i exportar el contingut de les llistes a fitxers de text pla, simplement clicant la llista amb el botó de la dreta en l'entorn de creació.

Exemples

Exemple 1
Crea una llista amb diferents salutacions. Fixa't en l'exemple: 


El següent programa et saludarà cada cop amb una de les frases de la llista triada a l'atzar. 



Exemple 2
Crea dues llistes: la llista mes amb els mesos de l'any (gener, febrer, març...) i la llista dia de la setmana (diumenge, dilluns, dimarts...). Prova el següent programa, que et dirà en quin mes i en quin dia som. Fixa't que fem servir el sensor (mes) actual, que ens torna un nombre, com a índex del valor a cercar en la llista.




Exemple 3
Amb les llistes es poden crear fàcilment jocs de preguntes/respostes. Crea una llista de Comarques i una de les seves capitals. Vigila que estiguin correctament ordenades! També hauràs de crear una variable que ens indicarà quina pregunta estem fent.


El joc ens preguntarà per una comarca de la llista (un nombre triat a l'atzar entre 1 i la llargada de la llista). Si el nom escrit correspon a l'element amb el mateix nombre de la llista de capitals, haurem encertat.


Exemple 4
Al joc Endevina la bandera juguem amb una llista ordenada segons les disfresses del personatge. 
Ens pregunta per una bandera i si s'encerta, l'afegim a una llista de control per evitar repetir la pregunta.