Desarrollando un juego de mesa – Hex (parte 3)
Posts relacionados:
Desarrollando un juego de mesa – Hex (parte 1)
Desarrollando un juego de mesa – Hex (parte 2)
Agrego algunas validaciones nuevas:
- Valida que el estado (No Iniciado, Iniciado, Juego terminado) del juego vaya cambiando según corresponde (Al iniciar, o cuando termina el juego después de un movimiento) y dispare el evento correspondiente.
- Gana jugador negro (Copié una partida en un tablero de 13x13 del Campeonato de España de Hex en LittleGolem). Al hacer eso, encontré que la prueba fallaba, después de investigar un poco el código, encontré que la lógica que estaba armada para verificar si alguien había ganado, estaba mal. Solo podría funcionar cuando el tablero estaba unido de arriba hacia abajo y de izquierda a derecha. En el caso del juego que copié, que era de arriba hacia abajo y de derecha a izquierda, no funcionaba.
- Gana el jugador negro (basado en el juego de 13x13, pero en un tablero de 5x5, más fácil de seguir)
Aparte de los tests nuevos, se fueron corrigiendo algunos bugs que había, y cambiando algunas cosas lógicas, que se verificó con los tests que todo seguía funcionando.
Me encanta esto de las pruebas automáticas, me permiten saber si rompí algo que estaba funcionando, sin tener que volver a testear toda la aplicación a mano.
Creo que con esto, ya terminé los test de la parte lógica del juego. Está todo comiteado como versión 0.3, así que en la próxima versión, me centraría en la parte de interfaz de usuario.
El repositorio de Hex, disponible acá.