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

Atrapa la mascareta

Un senzill, però molt vistós, molt adient per aquests temps que corren... 


En el vídeo ho teniu tot explicat.



Podeu personalitzar-lo com vulgueu: canvieu la nena i la mascareta per altres personatges, per exemple, un predador i la seva pressa, un contenidor de reciclatge groc i una ampolla de plàstic...

Podeu millorar-lo afegint:
  • música de fons
  • efectes gràfics
  • efectes sonors
  • contador de temps
Vinga, a què espereu per a fer el vostre joc?

Diàlegs

Els diàlegs bàsics a Scratch són força senzills: dos personatges i blocs de digues i espera. Combinats adequadament, no necessitem res més.


Però si volem afegir moviments, canvis de vestits o d'escenaris, necessitarem una mica més de codi. 


És un procés lent, però la canalla gaudeix molt explicant les seves històries i fent proves i proves... Per a que sigui reeixit:
  • Inicialitzar els personatges, és a dir, definir on i com estaran al principi de la història.
  • Portar un comptatge dels temps de cada personatge.
  • Introduir els missatges (broadcast).
He preferit fer l'exemple només amb un missatge. Si n'hi ha molts més, els petits de 10 o 11 anys es lien. N'hem posat un al final per anar-ho introduint, i deixar que els més avançats en puguin fer més ús.

Gaudiu explicant històries!!!

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.






Salta Granota! (Frogger)

Aquest és una variació de un dels clàssics arcades de plataformes, el Frogger de Konami, del que es poden trobar moltes versions per internet. En aquest cas, ens aprofitem d'altres objectes que circulen per la pantalla per poder arribar al nostre destí. La gracia del joc és què, amb una sola tecla, podem desenvolupar tota l'acció.

El Joc

Veure el joc a la web d'Scratch 


Com es fa? 



Què necessites?
Per aquest joc necessitem diversos personatges, que interaccionen entre ells: granota, nenúfars, mosques... Les interaccions definides són de diversos tipus:
  • Enviar missatges: ens permet definir crides a d'altres personatges molt fàcilment. En aquest joc, però, també fem crides que es responen pel mateix personatge.


  • Bloc vés a (personatge). Aquest bloc fa que un personatge es desplaci fins a la posició d'un altre. Si el col·loquen dins d'un per sempre, els dos personatges semblaran enganxats i es mouran junts, fins que algun altre esdeveniment o acció no digui el contrari. Convé destacar que els personatges s'enganxen pel centre. Podeu dir-li a cada vestit on és el centre amb el botó  Fixa el centre del vestit, dins de l'editor gràfic.
     

Comandament per so
Podem convertit fàcilment el Salta Granota en un joc comandat per veu, aprofitant el fet que només es controla amb una tecla. Un cop tenim el joc enllestit, podem afegir al bloc que controla el salt un operador de forma que la granota salti si es prem l'espai o si el volum del so supera un determinat nivell.


Quan tenim un joc en el que s'utilitza el micròfon, ens apareixerà un quadre de Adobe Flash Player, que ens demana permís per a utilitzar-lo. Hem de prémer el botó Allow.



Què més puc fer?
  • Crea una presentació del joc, on la granota expliqui les normes.
  • Afegeix efectes de so: per a les mosques, pel salt de la granota, quan la granota caigui a l'aigua...
  • Canvia el marcador de granotes per uns dibuixos on es vegin les granotes que encara tenim disponibles. 
  • Podem fer diferents nivells, canviant el número de mosques que ens hem de menjar, fent que les flors circulin més ràpides...
  • Crea un comptador de temps, de forma que si el joc no es supera en un determinat temps, la partida es perdi.
Un cop hagis acabat el joc, no t'oblidis de compartir-lo i afegir-lo a l'estudi de Frogger - CrearJocs. Allà pots veure altres exemples i comentar-los.

Programació: Enviar missatges (Broadcast)

Definició

Es normal que, en un determinat moment, vulguem que els nostres personatges "manin" accions a altres personatges, escenaris, etc... En aquestes ocasions utilitzem l'enviament de missatges o broadcast.

En arribar un moment o condicions determinades, un personatge enviarà un missatge a la resta d'objectes del programa, i aquells que han estat programats per respondre a aquest missatge, executaran les seves accions.

Aquest sistema de broadcast és la millor forma de sincronitzar accions en el nostres programes, tot i que també es pot utilitzar com eina per a reutilitzar codi, com a eina de recursivitat...

En altres llenguatges de programació podem veure estructures semblants: calls, subrutines, definició de funcions... tot i que poden tenir altres característiques que aquests missatges senzill no tenen.


Com treballar boadcasting a l'Scratch?

A Scracth disposem de tres blocs que ens permeten gestionar els missatges:


El bloc [envia a tots "missatge"] envia un missatge, i continua amb l'execució dels blocs de sota immediatament.
El bloc [envia a tots "missatge" i espera] envia un missatge, i atura l'execució de la resta de blocs del programa, fins que el personatge que respon no acabi les accions relacionades amb el missatge. Llavors, continuarà executant els blocs de sota.
El bloc [quan rebi "missatge"] és el que ens permet definir què ha de fer el receptor en rebre el missatge. Tot personatge que tingui aquest bloc està esperant a que es produeixi el missatge, i actuarà immediatament.



Per tant, per a realitzar crides d'aquest tipus, cal que programem l'esdeveniment [envia a tots "missatge"] en el personatge emissor i el programa que volem que s'executi en rebre la crida [quan rebi "missatge"] en el personatge receptor.


Exemples

Els missatges són una bona forma de interactuar entre personatges. A l'exemple següent, el gat envia un missatge en atrapar el ratolí, i aquest es queixarà i desapareixerà,


Quan treballem diàlegs és molt millor utilitzar missatges que provar de sincronitzar-ho per temps, ja que és molt més flexible, i ens permetrà anar canviant els diàlegs sobre la marxa, sense necessitat de tornar a sincronitzar el temps. En aquests cas, hem fet que Pico enviï un missatge de diàleg a Giga, i que esperi a que ella acabi per continuar; després li envia un segon missatge; finalment el missatge d'esternudar tots dos (sincronitzat) l'envia Giga.


En aquest altre exemple utilitzem els missatges com a definició de funció, o com una subrutina, amb la intenció d'estalviar-nos haver de repetir l'escriptura de codi i per tal que el programa quedi més compacte i fàcil de modificar.


Tir al plat

El tir al plat es un esport olímpic, en el que cal tenir molta paciència i precissió. Aquest joc intenta imitar-ho... a veure qui n'encerta més!
 
Prem Espai per fer sortir el plat. Prova d'encertar-lo amb el ratolí.. 
Veure aquest projecte a la Web de l'Scracth

Necessitaràs

En aquest cas, el joc és una mica diferent a l'exemple, doncs en comptes de comptar les bales, dóna un temps determinat.
  • Una animació amb diversos vestits per al plat. Un cop s'hagi trencat, canviarem els vestits per simular la trencadissa.
  • Un bloc d'atzar per fer que la direcció del plat sigui aleatòria.
  • Una variable per als plats trencats i una per al temps.
  • Un sensor per saber quan el plat toca la vora.

Programa per al plat

El plat porta el pes del programa. Hem de fer que es mogui, i que en clicar-lo, es trenqui i ens compti un plat al marcador.


Programa per a l'escenari

A l'escenari, inicialitzem variables i portem la gestió del temps.


Què més puc fer?

  • Afegeix efectes de so.
  • Crea un comptador per a les bales, com en l'exemple. Quan s'acabin les bales, s'haurà acabat el joc.
  • Fes que la velocitat del plat sigui aleatòria.
  • Crea un personatge que presenti el joc, explicant l'objectiu i les tecles a tocar.
  • Fes que els plats puguin aparèixer tant des de l'esquerra com des de la dreta.

Un cop hagis acabat el joc, no t'oblidis de compartir-lo i afegir-lo a l'Estudi de Tir al Plat - CrearJocs. Allà pots veure altres exemples i comentar-los.