Proyecto IETI Card Game

De Wiket
Salta a la navegació Salta a la cerca

Introducción

  • IETI Card Game es un juego de cartas fantástico basado en los juegos estilo POKEMON, HEARTHSTONE, etc... El juego permite leer cartas en formato XML, crear mazos y luchar. Las luchas son automáticas siguiendo unas reglas básicas explicadas en un apartado posterior.
  • Cuando inicias la aplicación se te ofrecen las siguientes opciones:
    • Cargar cartas (permite leer un XML con todas las cartas disponibles para crear un mazo)
    • Carga cartas Enemigo (permite leer un XML con todas las cartas disponibles para crear un mazo)
    • Crear mazo aleatorio (selecciona cartas aleatorias de las cartas disponibles hasta llegar a un máximo de 20 puntos de invocación y añade un nombre al mazo)
    • Crear mazo ofensivo (selecciona cartas hasta un máximo de 20 puntos de invocación siendo las cartas con ataque más alto)
    • Crear mazo defensivo (selecciona cartas hasta un máximo de 20 puntos de invocación siendo las cartas con defensa más alta)
    • Crear mazo equilibrado (selecciona cartas hasta un máximo de 20 puntos de invocación siendo la mitad de los puntos las cartas de ataque más alto y la otra mitad las cartas de defensa más alta)
    • Crear mazo aleatorio Enemigo (selecciona cartas aleatorias de las cartas disponibles hasta llegar a un máximo de 20 puntos de invocación y añade un nombre al mazo)
    • Crear mazo ofensivo Enemigo (selecciona cartas hasta un máximo de 20 puntos de invocación siendo las cartas con ataque más alto)
    • Crear mazo defensivo Enemigo (selecciona cartas hasta un máximo de 20 puntos de invocación siendo las cartas con defensa más alta)
    • Crear mazo equilibrado Enemigo (selecciona cartas hasta un máximo de 20 puntos de invocación siendo la mitad de los puntos las cartas de ataque más alto y la otra mitad las cartas de defensa más alta)
    • Luchar J vs J (si existe un mazo propio y un mazo enemigo se produce la lucha y se muestran los resultados)
    • Luchar J vs IA (si existe un mazo propio, se crean 7 jugadores IA con 7 mazos basados en tu propia baraja y se crea una liga eliminatoria. Las luchas se ejecutarán en modo resumen y solo se verá el resultado del ganador)
  • En la fase 1 del proyecto toda la aplicación funciona a través de la consola, por lo tanto las opciones se pintan en la consola y se seleccionan introduciendo el número correspondiente a la opción, en la fase 2 se implementará un apartado visual que permitirá seleccionar estas opciones con botones

por definir

  • crear una "liga"
    • Se crearan varios jugadores y se guardarán los resultados de los enfrentamientos en un fichero ( mostrar resultados del jugador X en el menú)
    • Se creará un fichero con la clasificación ( mostrar clasificación en el menú)
    • Se podrán dejar los enfrentamientos a medias y se podrá recuperar el estado para continuar )
    • Se guardarán los enfrentamientos en un fichero de forma que se podrán reproducir de nuevo.


Definiciones

Cartas

  • Una carta consta de los siguientes atributos:
    • Nombre: Nombre de la carta
    • Descripción: Información sobre el lore de la carta
    • Puntos de invocación: El número de puntos de invocación necesario para jugar esta carta (de 0 a 5)
    • Ataque: El poder de ataque de la carta (de 0 a 5)
    • Defensa:La defensa de la carta (0 a 5)
    • Tipo:El tipo de carta (Infantería, Caballería, Lanceros)

¿Como crear una carta?

  • Para crear una carta se tienen que seguir las siguientes indicaciones:
    • Asignar un nombre a la carta (no puede ser vacío, el nombre no puede tener más de 20 carácteres)
    • Crear una descripción para la carta (no puede ser vacío, la descripción no puede tener más de 60 carácteres)
    • Los puntos de invocación se calculan con la siguiente fórmula (puntos de invocación = (ataque + defensa)
    • Asignar un tipo a la carta (los tipos disponibles son: infanteria, caballeria, lanceros

Reglas del juego

  • Cada jugador tiene 10 puntos de vida
  • La partida se desarrolla por turnos
  • En un turno hay 3 fases: fase de invocación, fase de destino, fase de confrontación
  • Cada jugador tiene 5 puntos de invocación
    • Fase de invocación:
      • Se elige aleatoriamente una carta del mazo del jugador 1, si aun quedan puntos de invocación disponibles se selecciona aleatoriamente una carta del mazo con puntos de invocación disponible, así hasta que al jugador 1 no le queden puntos de invocación.
      • Se repite lo mismo para el jugador 2
    • Fase de destino:
      • Se elige de forma aleatoria que jugador atacará primero
    • Fase de confrontación:
      • El jugador que ataque primero selecciona la primera carta invocada y realiza un ataque a la primera carta invocada del jugador 2 (ataque - defensa) si el ataque supera la defensa la carta defensora es eliminada y los puntos de ataque sobrantes se restan a la vida del jugador, si la defensa supera al ataque no pasa nada. Después se realiza lo mismo con la siguiente carta del jugador que ataca hasta la última carta. Cuando ya se ha atacado con todas las cartas del primer jugador se hace lo mismo con el segundo jugador. Este ciclo se repite hasta que o bien a alguno de los jugadores no le queden cartas invocadas o el jugador pierda todos sus puntos de vida.
  • Los tipos de cartas sirven para aplicar modificadores al ataque. Infanteria > lanceros > cabelleria > Infanteria. De manera que si una carta tipo infanteria ataca a otra carta tipo lancero aplica un modificador x2 al ataque

Especificaciones

Especificaciones funcionales

Especificaciones no funcionales

Listado de tareas (backlog)

Fases del proyecto (Sprints)