Descomposición de cada user story en tareas - AndreyZartty/Scrabble GitHub Wiki
Tareas segun historias de usuario
1.Yo como jugador quiero una ventana inicial desde la cual decida si unirme a un juego o crearlo para poder jugar.
Investigación sobre implementación de interfaz gráfica(2 horas)
Creación de botones “Crear juego” y “Unirse a juego” (2 horas)
Diseño de la ventana(2 horas)
Creación de entrada o input en donde introducir el nombre(2 horas)
2.Yo como jugador quiero poder unirme si es posible a las partidas iniciadas mediante un código para poder iniciar el juego.
Creación de entrada o input para introducir el código de enlace (2 horas)
Enviar JSON con nombre de jugador al servidor (3 horas)
Creación de botón “Unirse”(2 horas)
Enviar JSON con solicitud para unirse al juego (3 horas)
Verificar al enviar JSON con solicitud que el juego no esté lleno(5 horas)
Iniciar el juego cuando se llene el server(2 horas)
3. Yo como jugador quiero poder crear un juego para que otros jugadores se puedan unir.
Enviar JSON con solicitud de crear un juego(3 horas)
Recibir JSON de confirmación del servidor (2 horas)
Adición de la lista de fichas y su respectiva cantidad y valor en el servidor para conformar el pool de fichas (5 horas)
Creación de pantalla de espera(3 horas)
4.Yo como jugador quiero poder elegir la cantidad de jugadores de que pueden unirse a mi juego, de 2 a 4, para tener màs opciones de personalización.
Creación de input para seleccionar la cantidad de jugadores(2 horas)
Enviar JSON con cantidad de jugadores que va a permitir el juego(3 horas)
5.Yo como jugador quiero que se genere un código el cual pueda compartir para poder jugar con mis amigos.
Creación aleatoria de un código para ingresar al juego (5 horas)
Creación de archivo con códigos de juegos activos para verificación (2 horas)
Verificación con archivo de código de juegos activos para que no se repitan códigos (2 horas)
Modificación de JSON de confirmación incluyendo el código (3 horas)
6.Yo como jugador quiero que se muestren los nombres de mis amigos así como el mío para que podamos reconocernos entre sí.
Recibir JSON con nombres de los jugadores unidos al servidor (3 horas)
Mostrar en pantalla los nombres de los jugadores (2 horas)
7.Yo como jugador quiero que se otorguen un numero especifico de fichas aleatorias con puntaje establecido a cada jugador para poder empezar el juego.
Crear un método para escoger aleatoriamente 7 fichas de la lista, por jugador (5 horas)
Eliminar las fichas del pool(4 horas)
8.Yo como jugador quiero que se muestre el tablero en donde se colocan las fichas para poder acomodar y formar palabras con las letras.
Crear una matriz en el servidor(6 horas)
Asignar los respectivos atributos de reconocimiento de fichas a los nodos(4 horas)
9.Yo como jugador quiero poder arrastrar fichas a la cuadrícula para formar palabras.
Establecer métodos que detecten la selección de fichas(4 horas)
Establecer relaciones de los nodos de la cuadrícula con las fichas(6 horas)
Establecer banderas de reconocimiento de posibilidad de colocación y movilidad(7 horas)
Graficar las fichas al colocarlas en el tablero(4 horas)
10.Yo como jugador quiero poder presionar el botón “Scrabble” cuando ya coloqué mis fichas para poder validar mis palabras creadas, acabar y pasar de turno.
Verificar que se haya colocado al menos una ficha antes de mandar el JSON(5 horas)
Obtener el string de los nodos enlazados en el tablero y enviar un JSON con la palabra formada al servidor(7 horas)
Sacar la cantidad de fichas del pool que se usaron en el turno y dárselas al jugador que presionó el botón(5 horas)
Continuar con el ciclo de turnos(3 horas)
11.Yo como jugador quiero que se compruebe en un diccionario que las palabras formadas existan para que no se puedan hacer trampas.
Verificar que la palabra tenga por lo menos 2 letras(3 horas)
Investigación del diccionario(3 horas)
Implementación del diccionario(6 horas)
Crear métodos de búsqueda para el diccionario(6 horas)
Asignar el puntaje respectivo(2 horas)
Graficar ventana de opciones en caso de no encontrar la palabra en el diccionario (5 horas)
12.Yo como jugador quiero que se envíe un mensaje a un experto en caso de no encontrar la palabra en el diccionario para asegurar la validez de la palabra.
Investigación de SMS en C++(6 horas)
Enviar JSON con la palabra a verificar(4 horas)
Establecer el número al cual se le van a enviar SMS(2 horas)
13.Yo como jugador quiero que las palabras confirmadas por el experto se añadan al diccionario para que la situación no se repita.
Interpretar la respuesta del experto(4 horas)
Agregar las palabras aceptadas al diccionario(4 horas)
Agregar el puntaje respectivo cuando se agrega la palabra(2 horas)
14.Yo como jugador quiero que la partida se acabe cuando a un jugador se quede sin fichas para poder decidir un ganador.
Verificar que no hayan fichas en el pool(4 horas)
Verificar si algún jugador se quedó sin fichas(4 horas)
Verificar que no se hayan pasado dos turnos seguidos por persona(6 horas)
Enviar JSON indicando que la partida finalizó(3 horas)
15.Yo como jugador quiero que se escoja al jugador con más puntos como ganador para poder terminar el juego.
Comparar las cantidades de los puntajes de todos los jugadores(2 horas)
Ordenar los jugadores por puntaje(4 horas)
Graficarlos en el cliente de cada jugador (5 horas)
16.Yo como jugador quiero que se visualicen los puntajes de todos los jugadores para verificar quién va ganando.
Hacer un request de la puntuación de todos los jugadores (4 horas)
Graficar las puntuaciones (3 horas)
Actualizar las puntuaciones gráficamente después de cada turno (5 horas)
17.Yo como jugador quiero una pantalla de juego para poder realizar mis jugadas.
Mostrar fichas de cada jugador en su respectivo cliente (6 horas)
Graficar botones de Scrabble y Pasar Turno(3 horas)
Graficar la cuadrícula(5 horas)
18.Yo como jugador quiero un botón Pasar Turno en caso de no poder realizar ninguna otra jugada.
Enviar JSON con la indicación de pasar al siguiente jugador.(3 horas)
Crear un contador para contabilizar cuantas veces se ha pasado de turno consecutivamente(4 horas)