Diferència entre revisions de la pàgina «Projecte Qui és qui»
Salta a la navegació
Salta a la cerca
Línia 12: | Línia 12: | ||
<br> | <br> | ||
==Product Backlog== | ==Product Backlog== | ||
+ | # Configurarem les característiques dels personatges a l'arxiu de configuració '''config.txt''' | ||
+ | # Les característiques són finites i hi haurà una per línia a l'arxiu de conf. Per exemple: | ||
+ | #: <pre> | ||
+ | #:: ulleres: si no | ||
+ | #:: cabell: ros moreno castany | ||
+ | #:: sexe: dona home</pre> | ||
+ | # Disposarem d'un segon arxiu de configuració per a les imatges '''imatges.txt'''. Aquest etiquetarà les imatges disponibles amb les seves característiques adients. Per exemple: | ||
+ | #: <pre> | ||
+ | #:: sofia.jpg : ulleres si , cabell castany , sexe dona | ||
+ | #:: pablo.jpg : ulleres no , cabell moreno , sexe home</pre> | ||
=== Especificacions funcionals === | === Especificacions funcionals === | ||
==== M6: programació client==== | ==== M6: programació client==== |
Revisió del 14:41, 27 set 2018
Introducció
El joc del Qui és qui?
Farem el joc del qui es qui contra la màquina.
- El servidor triará una carta d'entre un seguit d'opcions i nosaltres l'haurem d'endevinar fent preguntes
- Cada carta tindrà una sèrie de característiques limitades i úniques.
- Les preguntes ens permetrà descartar opcions, per exemple: Porta ulleres? -> si la resposta es SI, descartem totes aquelles cartes que NO porten ulleres
- Guanyes el joc si totes les cartes menys 1 estan descartades i l'única que queda és la carta sel·leccionada pel servidor.
- Perds el joc si l'única carta que queda NO coincideix amb la sel·leccionada pel servidor.
Product Backlog
- Configurarem les característiques dels personatges a l'arxiu de configuració config.txt
- Les característiques són finites i hi haurà una per línia a l'arxiu de conf. Per exemple:
- ulleres: si no
- cabell: ros moreno castany
- sexe: dona home
- Disposarem d'un segon arxiu de configuració per a les imatges imatges.txt. Aquest etiquetarà les imatges disponibles amb les seves característiques adients. Per exemple:
- sofia.jpg : ulleres si , cabell castany , sexe dona
- pablo.jpg : ulleres no , cabell moreno , sexe home
Especificacions funcionals
M6: programació client
- Totes les cartes excepte la seleccionada pel servidor han de poder descartar-se (girar-se cap per avall)
- Un cop descartada un carta NO pot tornar a girar-se
- Crear un combo box per seleccionar les preguntes relacionades amb les ulleres (la pregunta ha de ser de SI o NO)
- Crear un combo box per seleccionar les preguntes relacionades amb la barba (la pregunta ha de ser de SI o NO)
- Crear un combo box per seleccionar les preguntes relacionades amb el Cabell (la pregunta ha de ser de SI o NO)
- Crear un botó amb el text: "Fes la pregunta" que en clicar-lo detecti quin combo box té la pregunta a realitzar y consulti en els atributs de la carta seleccionada pel servidor la respota y la imprimeixi per pantalla
- Si en clicar el botó "Fes la pregunta" hi ha més d'un combo box "activat" ha de mostrar un missatge de error informant que només es pot realitzar una pregunta cada cop
- En cas de que el botó "Fes la pregunta" generi un error per que hi ha més d'un combo box "activat" a més a més de mostrar el missatge d'error ha de "resetejar" tots el combo box
- Crea un algorisme que controli el final del joc. Quan només quedi una carta s'haurà de girar la carta de seleccionada per l'ordinador, si la carta que queda es la mateixa que la seleccionada per l'ordinador el jugador guanya el joc. En cas contrari el jugador perd el joc.
- Després de realitzar una pregunta al ordinador si el jugador intenta realitzar una altra pregunta sense descartar cap carta ha de sortir un missatge d'avís amb el text: "Segur que vols realitzar un altre pregunta sense girar cap carta?"
- Crea un apartat per mostrar un comptador amb el número de preguntes que s'han realitzat al ordinador
- Crea un botó per activar el mode "EASY". Aquest botó només romandrà actiu i es podrà clicar si encara no hem realitzat cap pregunta
- Implementa el mode "EASY", en aquest mode mode quan fem una pregunta al ordinador automaticament gira les cartes que no cumpleixen amb les condicions
- Cada cop que es gira una carta s'ha d'escoltar un só (curt)
- Si el joc finalitza y el jugador guanya s'ha d'escoltar un só de victoria
- Si el joc finalitza y el jugador perd s'ha d'escoltar un só de fracàs
- Substitueix els combos individuals de preguntes per un únic combo amb totes les preguntes
- Modifica el botó per activar el mode "EASY" i fes un combo os es pugui seleccionar "EASY" i "VERY EASY"
- Implementa el mode "VERY EASY" a més de fer el mateix que el mode "EASY" un cop que es realitza una pregunta aquesta pregunta s'elimina dels combos de preguntes
- Implementa un Easter Egg
M7: programació servidor
Al servidor crearem el taulell bàsic de joc amb HTML i PHP, amb les imatges/cartes per a jugar. Tindrem 2 arxius de configuració: config.txt i imatges.txt
Càrrega d'imatges:
- Configurarem les característiques dels personatges a l'arxiu de configuració config.txt
- Les característiques són finites i hi haurà una per línia a l'arxiu de conf. Per exemple:
- ulleres: si no
- cabell: ros moreno castany
- sexe: dona home
- Disposarem d'un segon arxiu de configuració per a les imatges imatges.txt. Aquest etiquetarà les imatges disponibles amb les seves característiques adients. Per exemple:
- sofia.jpg : ulleres si , cabell castany , sexe dona
- pablo.jpg : ulleres no , cabell moreno , sexe home
- Les característiques (ros, moreno, dona, ... ) i els noms d'arxiu no poden contenir espais (en tot cas, poseu un underscore "_").
- El servidor ens haurà de donar error de configuració en aquests casos:
- Una mateixa imatge (nom d'arxiu) apareix dos cops a l'arxiu de configuració.
- Dues imatges diferents tenen les mateixes característiques.
- Una característica que apareix al fitxer imatges.txt no apareix al fitxer config.txt (al revés no importa)
- El servidor importarà les imatges i les seves característiques (imatges.txt) i les introduirà en un array. Cada element de l'array contindrà un array associatiu amb les característiques, per exemple:
$imatges[0] = Array( "arxiu"=>"sofia.jpg", "ulleres"=>"si", "cabell"=>"castany", "sexe"=>"dona" )
Generació de HTML:
- El servidor importarà la llista de característiques (config.txt) i les guardarà en un array associatiu. Aquesta servirà per generar els menús desplegables, un per cada característica amb les seves opcions (per exemple: "barba si", "barba no").
- El servidor importarà la llista d'imatges (imatges.txt) i les guardarà en un array associatiu.
- El servidor haurà de triar una carta a l'atzar perquè l'endevini l'usuari.
- El servidor barrejarà totes les cartes i col·locar-les sobre un taulell.
- Renderitzarem l'array d'imatges amb la funció
json_encode
per deixar-la disponible per a la part de client.
M9: disseny d'interfície
Especifiacions no funcionals
- Es treballarà amb Javascript pur, no es poden fer servir llibreries externes o frameworks
- Es traballarà amb PHP
- Cada carta tindrà 3 atributs: (ulleres -> SI o NO, barba -> SI o NO, Cabell -> ROS, CASTANY, BRU
- Heu de trobar 12 cartes amb les combinacions dels 3 atributs únic.
- Carta 1 => Ulleres, Barba, Ros,
- Carta 2 => ulleres, barba, CASTANY
- Carta 3 => ulleres, barba, BRU
- Carta 4 => NO ulleres, barba, ROS
- Carta 5 => NO ulleres, barba, CASTANY
- Carta 6 => NO ulleres, barba, BRU
- Carta 7 => ulleres, NO barba, ROS
- Carta 8 => ulleres, NO barba, CASTANY
- Carta 9 => ulleres, NO barba, BRU
- Carta 10 => NO ulleres, NO barba, ROS
- Carta 11 => NO ulleres, NO barba, CASTANY
- Carta 12 => NO ulleres, NO barba, BRU
Definition of Done (DOF)
- Tasca implementada
- Tasca testejada
- Tasca comitejada
- Tasca pujada a producció
Gestió de projecte
Sprint #1 (27 hores) 4/10/18 -- 11/10/18
Sprint #2 (27 hores) 11/10/18 -- 19/10/18
- En aquest Sprint com el dia 12/10/18 es festa teniu un dia més.