Atrapa l’or

En aquesta pràctica anem a implementar el joc Atrapa l’or! En aquest joc, un pirata intenta agafar les monedes d’or que hi ha en el menor temps possible. La pràctica original està explicada ací.

Per on comencem? Analitza la imatge de baix. I intenta contestar les següents preguntes:

  • Quins elements gràfics fan falta per a implementar al personatge i a les monedes?
  • Què cal utilitzar per ficar dos elements un al costat de l’altre (el botó i el text de temps)?
  • Quina propietat s’ha de canviar perquè els elements ocupen un àrea determinat de la pantalla?

Per on seguim? Anem a biaxar/buscar les imatges i música per al joc. Després anem a definir la part gràfica i per últim implementarem la funcionalitat.

  1. Baixa’t la imatge de pirata i la imatge de la moneda. A més busca un so per a la teua música.
  2. Crea un projecte nou de AppInventor, anomenat atrapaOr.
  3. Dissenya la part gràfica. Ha de quedar paregut a la imatge. T’has de fixar en:
    • La pantalla té en “AboutScreen” la procedència de la música emprada.
    • El personatge de pirata té velocitat 6
    • La disposició horitzontal té els elements verticalement aliniats al centre.
    • El rellotge té l’interval a 2000.
  1. Implementa la funcionalitat de l’app. Comportament del pirata

L’usuari llançarà el pirata contra les monedes. Això s’implementa amb l’esdeveniment “Flug” i s’utilitzarà la direcció del moviment dels dits.

Si el pirata toca una vora, ha de rebotar. Per això es farà servir l’esdeveniment “EdgeReached”.

  1. Implementa la funcionalitat de l’app. Comportament de les monedes

Cada volta que s’acaba l’interval, totes les monedes canvien de lloc aleatòriament.

Aixó s’aconsegueix si es mou la moneda, en una posició aleatòria tenint en compte la grandària del llenç i de la moneda

En aquest exemple només és mostra una moneda. A l’esdeveniment, s’han de ficar totes les monedes.

  1. Implementa la funcionalitat de l’app. Caça de monedes.

Sempre que el pirata toca la moneda, es considera que l’ha agafat i, per tant, la moneda ha d’desaparèixer.

A l’exemple només està representada la col·lisió d’una moneda. Tu has de ficar-les totes.

I ara què? En aquest punt, has d’acabar d’implementar la funcionalitat de reinici de joc. El que es vol és que a prèmer el botó, tornen a aparèixer totes les monedes.

Recorda que has de fer captures de pantalla, tant de la part de disseny com la part de funcionalitat. A més intenta fer un vídeo mostrant com funciona el joc.

Reflexiona sobre dues qüestions:

  • Per què és bóna idea agarrar un número aleatori entre un rang fix a l’hora de menejar les monedes?
  • Quin és l’inconveninient en utilitzar l’estructura de control IF…THEN…ELSE en la detecció de la col·lisió del pirata amb les monedes?

I si ens quedem amb ganes de més? De forma opcional es poden fer les següents millores:

  • Afegir més monedes.
  • Comptar el temps que tarda el pirata en caçar totes les monedes
  • Incloure un personatge enemic i si el pirata col·lisiona, s’acaba el joc.
  • Afegir el control del pirata amb el sensor de la brúixola.

"edutictac.es