Sessió 4. Recollint pistes

Pla de treball

  • Recollir objectes de l’escenari i guardar-los
  • Utilitzar els objectes recollits per fer accions
  • Planificar les accions del repte final

Anem recollint els objectes

A la sessió anterior heu aconseguit que el personatge mogui els objectes i que es posicioni respecte d’ells. Això us permet amagar objectes darrera d’objectes i fer-los visibles. Ara ens falta programar com es recullen aquests objectes i guardar-los per quan ens faci falta fer-los servir. Comencem!


Pas a pas Fem-ho pas a pas

  • Entrem al nostre compte de l’Scratch i fem una còpia del nostre projecte m3repte31 i li canviem el nom a m3repte41.
  • A la sessió 2 havíem deixat els objectes ben col·locats als dos escenaris fent servir aquests blocs. Comproveu que estiguin tots ben situats, alternant entre els dos escenaris (el principal i el d’objectes) amb les tecles “o” i “espai” i feu els canvis necessaris si no és així.

Posició objectes

  • Començarem recollint la clau que apareix quan el personatge mou les roques. Farem servir el mateix programa per detectar quan el personatge toca sobre la clau que el que vam fer servir per a les roques. En aquest cas, només hi ha dues possibilitats de resposta: agafar la clau A o no fer res R.

  • A diferència de amb les roques, en el cas de la clau hem de tenir control sobre si està o no agafada, ja que depenent d’aquest estat s’han de dur a terme diferents accions. És per això que hem de crear una variable anomenada EstatClau que tindrà el valor d’Agafada quan el personatge decideixi agafar la clau. Aquesta variable ens permetrà posteriorment fer aparèixer la clau en un altre escenari o controlar d’altres accions que ens interessin (per exemple, obrir una porta)
  • A més de la variable, també haurem de fer servir l’esdeveniment AmagaClau que enviarà a tots els programes relacionats aquesta informació per tal que realitzin les accions corresponents: la fonamental és fer desaparèixer la clau, que està definida en el programa de l’objecte “Clau”.

  • Com que hem creat la variable EstatClau ens hem d’assegurar que al començar el programa està “neta”, de la mateixa forma que vam fer a la sessió anterior amb les variables creades. També ens hem d’assegurar que a l’inciar el programa la clau estigui visible i col·locada al seu lloc.

  • Per últim, hem d’indicar en el programa de l’escenari què ha de passar quan la clau estigui agafada. Per aconseguir-ho ens va molt bé tenir la variable EstatClau que hem creat anteriorment, ja que preguntem si està agafada per amagar-la o no.


Icona repte Repte 1 Duent a terme les accions explicades fins ara, heu aconseguit que quan el personatge toqui la clau pugui agafar-la (o no) i que desaparegui de l’escenari principal. Falta programar l’escenari per tal que quan la clau estigui agafada aparegui a l’escenari “objectes”

Icona pista Pista: les accions de l’escenari principal i les de l’escenari d’objectes són contràries.


Icona repte Repte 2 Feu el mateix procés amb l’altre objecte que està visible a l’escenari principal.


Què poden fer les pistes recollides?

Ja tenim la primera pista, una clau !

Què podem fer amb aquesta clau? Òbviament obrir una porta…o potser un cofre, un armari, una caixa forta. I què hi haurà a dins? Cada cop anem fent més gran el misteri.

Començarem per una cosa senzilla, quan tinguem la clau agafada obrirem una petita porteta o l’objecte que vosaltres decidiu. Som-hi!


Pas a pas Fem-ho pas a pas

  • Continuem amb el nostre projecte m3repte41 que tenim obert.
  • Per començar, hem de tenir una porta o un objecte que es pugui obrir amb una clau i no només això, hem de tenir aquest objecte tancat i també obert, és a dir, dos vestits de l’objecte. Podeu buscar a la galeria, dibuixar-lo, fer una fotografia o buscar-lo a Internet.

  • Quan comença el programa, la porta ha d’estar tancada.

  • Movem les roques i descobrim la clau que decidim agafar.

  • Quan agafem la clau s’obre la porta

  • Aquests són els blocs que controlen que a l’inici del programa la porta estigui tancada i que s’obri a l’agafar la clau.


Icona repte Repte 3 Hem de millorar aquest programa de forma que la porta no s’obri tot just quan la clau estigui agafada sinó quan el personatge estigui tocant la porta. Feu que surti una pregunta que demani al personatge si vol obrir la porta.

Icona pista Pista: per obrir la porta s’han de complir dues condicions: que el personatge hagi recollit la clau i que quan se li pregunti si vol obrir la porta contesti afirmativament.


Icona projecte El nostre projecte creix…

Poc a poc anem definint cada vegada de forma més concreta el nostre projecte. Per poder tenir ordenades totes les accions que volem que es duguin a terme segons les accions del personatge i les seves interaccions amb els objectes o els propis objectes entre ells, aniria bé tenir-les recollides en una graella d’aquest tipus.

Personatge Objecte 1 Objecte 2 Objecte 3
Personatge
Objecte 1
Objecte 2
Objecte 3

Les cel·les pintades de blau son interaccions impossibles, ja que seria un objecte amb ell mateix.
Definiu totes les accions el més detalladament possible i en les properes sessions realitzeu els canvis que siguin necessaris a mesura que anem avançant en el mòdul. Cada cel·la de la taula representa en realitat un algorisme, és a dir, ha de recollir els passos que es realitzen, de forma ordenada, per dur a terme una acció.


Icona glosari Com que som programadors i programadores parlem de…

  • Algorisme: conjunt de passos que es duen a terme d’una forma ordenada per tal d’executar una tasca o resoldre un problema.