DAM2 M06 UF3 Proyecto (Curso 2018-2019)
La revisió el 16:23, 29 març 2019 per Lzabala (discussió | contribucions)
volver a M06 Acceso a datos
Normativa
- Tipus de Projecte: Individual
- Lliurament: Moodle
- Requereix demo: Si
- Requereix prova pràctica: Si
- Avaluació: Proyecte 70% (demo 30%, codi 40%), prova pràctica 30% (requisit >=5 per fer mitja)
Generador de baralles de cartes
Descripció
- Es demana una aplicació per crear baralles de cartes d'un joc estil "Magic/Pokemon", la colecció de cartes es troba emmagatzemada en una base de dades eXist-db en format XML, el nom del ficher es card_collection.xml, la aplicació ha de permetre:
- Carregar la col·lecció de cartes
- Crear baralles cumplint amb les limitacions
- Posar nom a les baralles
- Guardar les baralles creades en MongoDB
- Carregar baralles creades i fer modificacions
Especificacions
- 1. L'aplicació ha de permetre mitjançant botons:
- Botó1: Load cards, ha de permetre carregar les cartes emmagatzemades en una base de dades exist-db en format xml (consulta el format a l'apartat especificacions no funcionals)
- Botó2: Rnd Deck, ha de generar una barralla de cartes aleatoria respectant la restricció de valors de cartes definit a l'apartat especificacions no funcionals
- Botó3: Save Deck, ha de permetre guarda una barralla de cartes creada o per selecció manual de l'usuari o pel botó 2 en una base de dades MongoDB, una vegada guardada la baralla, ha de sortir un missatge per informar a l'usuari i netejar el panell de baralles.
- Botó4: ->, ha de permetre moure una o més d'una carta de la col·lecció a la baralla
- Botó5: <-, ha de permetre moure una o més d'una carta de la baralla a la col·lecció
- Botó6 + input: Load Deck, carrega una baralla introduint en el input el nom de la baralla, si no existeix s'ha d'indicar a l'usuari, si existeix es carrega la baralla i permet fer modificacions i guardar-les
- 2. Mitjançant dos panells (un per mostrar les cartes carregades de la col·lecció i aun altre per mostrar les cartes seleccionades per una baralla) ha de permetre moure cartes d'un costat cap a l'altre.
- 3. Abans de guardar una baralla l'usuari ha de posar-li un nom a la baralla (amb un input o el que vulgueu)
- 4. No es poden guardar 2 baralles amb el mateix nom
Especificacions NO funcionals
- Heu d'implementar l'accés a les bases de dades amb el patró de diseny DAO
- Una baralla no pot tenir un valor superior a 20 (la suma del value de les cartes ha de ser <= 20)
- Format d'una carta a la col·lecció:
<cards> <card id=1> <name>Quimera</name> <summonCost>3</summonCost> <attack>5</attack> <defense>3</defense> <value>4</value> </card> </cards>
- Format d'una baralla:
{ "DeckName":"Deck1", "DeckValue: 6, "Deck":[ {"cardId":1,"name":"Quimera","summonCost":3,"attack":5,"defense":3,"value":4}, {"cardId":2,"name":"HobGoblin","summonCost":1,"attack":2,"defense":2,"value":2} ]}
- La lògica de l'aplicació ha de ser independent de l'accés a dades
Temporització
- Data d'inici: 18/03/2019
- Data de fi: 25/03/2019 (abans de les 16h)