NICOLÁS BOTTARINI
Zombie Survivor

Zombie Survivor

¡¡Llegó el apocalipsis zombie!! Un juego divertido para mejorar tus habilidades de TDD y diseño

Nivel:Avanzado
Duración:Larga
Temas:
TDDClean CodeDiseñoOOPSOLIDPatrones de diseñoOutside-InDDD

Instrucciones

¡¡Llegó el apocalipsis zombie!!

  1. Completá cada iteración antes de leer la siguiente.
  2. Se recomienda hacer esta kata en pareja y escribiendo tests.

Iteraciones

Iteración 1: Lo básico
  • Una Partida incluye uno o más Sobrevivientes y Zombies.
  • Una Partida empieza sin Sobrevivientes ni Zombies.
  • Se puede agregar un Sobreviviente a la partida (pero no después de que empezó).
  • Se puede agregar un Zombie a la partida (pero no después de que empezó).
  • Una Partida termina inmediatamente si no hay Sobrevivientes o no hay Zombies.
  • Cada Sobreviviente y cada Zombie tiene un Nombre. El Nombre es único dentro de la partida.
  • Cada Sobreviviente y cada Zombie empieza con 0 Heridas.
  • Si un Zombie ataca a un Sobreviviente, le hace una Herida.
  • Un Sobreviviente que recibe 2 Heridas muere inmediatamente y se convierte en Zombie.
  • Un Zombie que recibe 5 Heridas muere inmediatamente.
Iteración 2: Equipamiento
  • Cada Sobreviviente puede llevar hasta 5 piezas de Equipamiento.
  • Hasta 2 de las piezas que lleva están "En mano"; el resto están "En reserva".
  • Ejemplos de Equipamiento: "Bate de béisbol", "Sartén", "Katana", "Pistola", "Agua embotellada", "Molotov".
  • Un Sobreviviente puede atacar a un Zombie con un Equipamiento que tenga en mano.
  • Cada Equipamiento hace una cantidad distinta de Heridas.
  • Cada Herida que recibe un Sobreviviente reduce en 1 la cantidad de piezas de Equipamiento que puede llevar.
  • Si el Sobreviviente tiene más Equipamiento que su nueva capacidad, se elige automáticamente una pieza para descartar.
  • Un Sobreviviente puede descartar Equipamiento para levantar otro.
Iteración 3: Experiencia
  • A medida que los Sobrevivientes vencen zombies, ganan experiencia.
  • Cada Sobreviviente empieza con 0 de Experiencia.
  • Cada Sobreviviente tiene un Nivel actual.
  • Cada Sobreviviente empieza en el Nivel Azul.
  • Cada vez que el Sobreviviente mata un zombie, gana 1 de Experiencia.
  • Los Niveles son: Azul, Amarillo, Naranja, Rojo.
  • Cuando un Sobreviviente supera los 6 de Experiencia, avanza ("sube de nivel") al nivel Amarillo.
  • Cuando un Sobreviviente supera los 18 de Experiencia, avanza al nivel Naranja.
  • Cuando un Sobreviviente supera los 42 de Experiencia, avanza al nivel Rojo.
  • Una Partida tiene un Nivel (acá Nivel es lo mismo que el Nivel de un Sobreviviente).
  • Una Partida empieza en el Nivel Azul.
  • El Nivel de la Partida siempre es igual al Nivel del Sobreviviente vivo de mayor nivel.
Iteración 4: Output
  • La Partida incluye un historial de los eventos que fueron pasando mientras se jugaba. Manejar el historial es responsabilidad de la Partida.
  • El Historial de la Partida empieza registrando la hora en que empezó la Partida.
  • El Historial de la Partida registra cuando un Sobreviviente consigue una pieza de Equipamiento.
  • El Historial de la Partida registra cuando un Sobreviviente es herido.
  • El Historial de la Partida registra cuando un Sobreviviente muere.
  • El Historial de la Partida registra cuando un Sobreviviente sube de nivel.
  • El Historial de la Partida registra cuando cambia el Nivel de la Partida.
  • El Historial de la Partida registra que la Partida terminó cuando muere el último Sobreviviente.

Créditos