
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!!
- Completá cada iteración antes de leer la siguiente.
- 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.