Kata: Bowling kata (Introducción a TDD)
Detalles
Volvemos a las katas online, en este caso con una dedicada a introducirnos y practicar Test-driven development (TDD).
La kata la dinamizará Emmanuel Valverde Ramos.
ℹ️ Descripción de la kata:
La kata consiste en representar un marcador de una bolera en un juego de bolos.
👉 Cada juego que intentamos representar tiene 10 turnos o frames para cada uno de los jugadores
Para ellos tendremos un marcador de 10 frames (como en el de la imagen 👇)
👁️ https://ibb.co/whQWqPd
👉 Por cada frame el jugador tendrá dos tiradas para tirar los 10 bolos(pins).
👉 La puntuación total(score) del frame será el número total de bolos tumbados(knocked) + el bonus de hacer plenos(strike) o semi-pleno(spear).
👉 Un semi-pleno es cuando un jugador tumba los 10 bolos en 2 lanzamientos(rolls), el bonus previamente mencionado es el número de bolos tumbados en el próximo lanzamiento de este jugador.
👉 Un pleno es cuando un jugador tumba los 10 bolos en 1 solo lanzamiento, el frame se completa con ese lanzamiento. El bonus para ese frame es el valor de los próximos 2 lanzamientos que el jugador haga.
👉 En el decimo frame el jugador que haga un semi-pleno o un pleno podrá tener un lanzamiento extra para completar el frame. Sea como sea en la decimo frame no podrán realizarse más de 3 lanzamientos.
👀 Algunas de las anotaciones podría ayudar a tener un lenguaje en común para realizar la kata.
➕️ Más información: https://kata-log.rocks/bowling-game-kata
Prerequisitos:
- Venir con ganas de progamar utilizando TDD
- No es necesario tener experiencia previa en TDD (https://es.wikipedia.org/wiki/Desarrollo_guiado_por_pruebas)
- Si te apetece programar en tu máquina puedes clonar el repositorio https://github.com/SoftwareCraftersMurcia/bowling-kata y probar el setup en el lenguaje que prefieras.
- Leer descripción inicial de la kata: https://kata-log.rocks/bowling-game-kata
🕐 Agenda: El evento constará de dos partes
- 18:00-20:00: Kata "Bowling kata" en pair/mob programming via Zoom
- 20:00-22:00: Quién quiera, después nos quedaremos charlando intentando emular los eventos en persona.
Los objetivos son:
- Pasárnoslo bien
- Aprender
Herramientas:
- Herramienta de videoconferencias Zoom (el link se mandará por email a los asistentes unos minutos antes del evento)
- Webcam y micrófono para poder interactuar mejor
Opcionales: - Git y Github (para compartir el código y cambiar de driver)
- IDE: cada uno el que quiera
