Diferència entre revisions de la pàgina «Projecte Qui és qui»

De Wiket
Salta a la navegació Salta a la cerca
Línia 46: Línia 46:
 
#Modifica el botó per activar el mode "EASY" i fes un combo os es pugui seleccionar "EASY" i "VERY EASY"
 
#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 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
 +
#Crea un temporitzador que mostri el temps de joc amb format: mm:ss
 
#Implementa un Easter Egg
 
#Implementa un Easter Egg
  

Revisió del 15:27, 27 set 2018

Quienesquien2.jpg

Introducció

El joc del Qui és qui?

Farem el joc del qui es qui contra la màquina.

  1. El servidor triará una carta d'entre un seguit d'opcions i nosaltres l'haurem d'endevinar fent preguntes
  2. Cada carta tindrà una sèrie de característiques limitades i úniques.
  3. Les preguntes ens permetrà descartar opcions, per exemple: Porta ulleres? -> si la resposta es SI, descartem totes aquelles cartes que NO porten ulleres
  4. Guanyes el joc si totes les cartes menys 1 estan descartades i l'única que queda és la carta sel·leccionada pel servidor.
  5. Perds el joc si l'única carta que queda NO coincideix amb la sel·leccionada pel servidor.


Product Backlog

  1. Configurarem les característiques dels personatges a l'arxiu de configuració config.txt
  2. 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
  3. 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
  4. Les característiques (ros, moreno, dona, ... ) i els noms d'arxiu no poden contenir espais (en tot cas, poseu un underscore "_").
  5. El servidor ens haurà de donar error de configuració en aquests casos:
    1. Una mateixa imatge (nom d'arxiu) apareix dos cops a l'arxiu de configuració.
    2. Dues imatges diferents tenen les mateixes característiques.
    3. Una característica que apareix al fitxer imatges.txt no apareix al fitxer config.txt (al revés no importa)
  6. El servidor haurà de triar una carta a l'atzar perquè l'endevini l'usuari.
  7. El servidor barrejarà totes les cartes i col·locar-les sobre un taulell.
  8. Totes les cartes excepte la seleccionada pel servidor han de poder descartar-se (girar-se cap per avall)
  9. Un cop descartada un carta NO pot tornar a girar-se
  10. Crear un combo box per a cada propietat de les cartes (la pregunta ha de ser de SI o NO)
  11. 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
  12. 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
  13. 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
  14. 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.
  15. 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?"
  16. Crea un apartat per mostrar un comptador amb el número de preguntes que s'han realitzat al ordinador
  17. 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
  18. Implementa el mode "EASY", en aquest mode mode quan fem una pregunta al ordinador automaticament gira les cartes que no cumpleixen amb les condicions
  19. Cada cop que es gira una carta s'ha d'escoltar un só (curt)
  20. Si el joc finalitza y el jugador guanya s'ha d'escoltar un só de victoria
  21. Si el joc finalitza y el jugador perd s'ha d'escoltar un só de fracàs
  22. Substitueix els combos individuals de preguntes per un únic combo amb totes les preguntes
  23. Modifica el botó per activar el mode "EASY" i fes un combo os es pugui seleccionar "EASY" i "VERY EASY"
  24. 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
  25. Crea un temporitzador que mostri el temps de joc amb format: mm:ss
  26. Implementa un Easter Egg

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 a cada propietat de les cartes (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
  • Crea un temporitzador que mostri el temps de joc amb format: mm:ss
  • 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:

  1. Configurarem les característiques dels personatges a l'arxiu de configuració config.txt
  2. 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
  3. 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
  4. Les característiques (ros, moreno, dona, ... ) i els noms d'arxiu no poden contenir espais (en tot cas, poseu un underscore "_").
  5. El servidor ens haurà de donar error de configuració en aquests casos:
    1. Una mateixa imatge (nom d'arxiu) apareix dos cops a l'arxiu de configuració.
    2. Dues imatges diferents tenen les mateixes característiques.
    3. Una característica que apareix al fitxer imatges.txt no apareix al fitxer config.txt (al revés no importa)

RECOMANACIÓ: 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:

  1. El servidor haurà de triar una carta a l'atzar perquè l'endevini l'usuari.
  2. El servidor barrejarà totes les cartes i col·locar-les sobre un taulell.

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)

  1. Tasca implementada
  2. Tasca testejada
  3. Tasca comitejada
  4. 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.


Sprint #3 (27 hores) 19/10/18 -- 26/10/18