Title: Ahorcado Text (Màxim 6)
Course: CFGS - Gestió de vendes i espais comercials / Màrqueting i publicitat > Section: Programació d'APPs per a dispositius mòbils

Where APP

Introducció

En aquest exemple creareu l’aplicació “Ahorcado Text”, un joc per a telèfon Android que permetrà jugar al típic joc del penjat. L’exemple llegirà una taula de paraules en format CSV de longitud variable (3, 4, 5 o 6 lletres), en triarà una a l'atzar i el jugador tindrà 7 intents per aconseguir endevinar-la. Un cop provat aquest exemple l’haureu de modificar i lliurar el joc que es demana al final d’aquest enunciat.

La pantalla inicial que s’anomenarà Juego contindrà els següents elements:

Disseny de la interficie

En la pantalla principal de l’aplicació trobarem els següents components

OBSERVACIÓ: Per facilitar la comprensió de l’activitat, es recomana, reanomenar tots els elements tal i com es mostra en l’exercici. És una bona pràctica anomenar de forma comprensible tots els elements d’una aplicació per tal de seguir-ne de forma eficient el seu desenvolupament, sobretot quan l'APP és prou extensa.

En aquesta captura veureu els elements que podem trobar en l’aplicació. Per tal que pugueu comprovar si el joc funciona bé, el textbox txtParaula inicialment es troba visible, però en la versió definitiva l'haureu d’ocultar per no donar pistes al jugador.

Així mateix resta indicar que les etiquetes Label1, Label2... contenen com a text un guió baix entre espais, així com es troba dins d’una taula de 6 columnes.

En aquest joc seran necessàries 10 imatges que podreu trobar tot seguit en format png,  totes elles tenen la mateix grandària (200px X 222px) cosa a tenir en compte per ampliar posteriorment el joc.

[Imatges]

Un cop fet el disseny de la interfície gràfica, serà necessari establir la lògica de l'APP. Per fer-ho caldrà accedir a l’espai de blocs d'APP Inventor per allí treballar amb els elements que la conformen.

Desenvolupament dels blocs

Un cop fet el disseny de la interfície gràfica, serà necessari establir la lògica de l'APP. Per fer-ho caldrà accedir a l’espai de blocs d'APP Inventor per allí treballar amb els elements que la conformen.

La variable intentos conté el nombre d’intents que tindrà el jugador per encertar la paraula, de fet coincideix amb el nombre de imatges que tenim per mostrar el penjat.

La variable anomenada diccionario conté les paraules que l’aplicació tria a l’atzar, que són les que trobeu en el llistat que hi ha a continuació:

"EBRIA","EBRIO","ECHAR","EDEMA","EDILA","EDRAR","EFEBO","ALETA","ELLAS","ELLOS","ENANA","ENANO","ENCIA","ENEMA","ENERO","ENOJO","ENTRE","ENTRO","ETNEA","EXTRA","ECHO","EDAD","EDIL","EJEM","ELFO","ELLA","ELLE","ELLO","EMIR","ENDE","ENEA","ERGO","EROS","ESAS","ESTA","ESTE","ESTO","EURO","ECO","EJE","ELE","EME","ENE","EPI","ERA","ERE","ESA","ESE","ESO","EL","LA","LO","BALIZA","BADAJO","BARITA","BARATO","BASURA","BATIDO","BAJADA","PATATA","BRONCA","BUCEAR","BRASIL","BOXEAR","CALIZA","CANINO","CANIJO","CANEAR","CANTAR","CAPOTE","CAPTAR","CANELA","CONCHA","CAMISA","COLETA","COMIDO","COMODO","COMPRA","DENTRO","DERIVA","DENGUE","DESLIO","DINERO","DIENTE","ELIPSE","ENSEÑA","ENLACE","ELISEO","EMISOR","ENFADO"

OBSERVACIONS: La llista ha de seguir el format CSV (paraules entre cometes separades amb comes) i vigilant que no hi hagi espais entre les paraules i les comes, tal com es mostra en l’exemple.

Podeu afegir més paraules emprant sempre la sintaxi CSV. Podeu obtenir mes paraules de la web: http://www.laspalabras.net/liste_mots_en.php?q=E&lettres=2

On el paràmetre de la URL q indica la lletra inicial i el paràmetre lettres indica el nombre de lletres que ha de contenir la paraula.

La funció ResetUI inicialitza totes les variables de l’aplicació, tria una paraula al atzar, reinicia el comptador d’errors i reinicia el comptador d’intents que li queda a l’usuari per encertar la paraula.

Com que les paraules del diccionari són de longitud variable (3/4/5/6 lletres), cal que el requadre de text ens mostri només els espais necessaris per a la paraula que ha triat l’aplicació i aquesta tasca també es realitza en aquesta funció. Observa detingudament el procés per poder modificar l’aplicació posteriorment i augmentar el nombre de lletres possibles.

La funció CheckLetter és l’encarregada de comprovar si la lletra que ha demanat el jugador es troba en la posició indicada (letter_position) dins la paraula. Si s’hi troba retorna la lletra entre espais, sinó retorna el caràcter que hi hagués anteriorment.

El botó btnComprobar és l’encarregat de comptar els intents, comprovar que la lletra es trobi en la posició anterior i segons el que hagi succeït, mostrar el ninot per pantalla, felicitar a l’usuari o reiniciar el joc si és precís.

Com es pot veure en aquesta darrera porció de codi, si el jugador no encerta la lletra, incrementa el nombre d’errors que ha tingut i mostra la imatge corresponent al nombre d’errors.

Si ha superat el nombre d’intents llavors l’aplicació informa a l’usuari que ha perdut i desactiva la possibilitat de continuar provant (desactiva el quadre de text i el botó de comprovació) però dona la possibilitat al jugador de tornar a jugar, reiniciant de nou tot el procés, nova paraula, etc...

En aquests dos esdeveniments que teniu a continuació fem que a l'iniciar-se el joc per primera vegada, s’iniciïn totes les variables i tots els valors necessaris per començar el joc, el mateix que succeeix després que un jugador acabi una partida que pot prémer el botó btnReintentar per tornar a provar sort.