Пример #1
0
        public void GrupoCreador_CuandoPonePrimeraPiedra_CreaUnGrupoDeUnaPiedraConSusLibertades()
        {
            Punto punto = new Punto(Tablero.nueveXnueve, 2, 2);

            List <Grupo> gruposNegros = new List <Grupo>();

            List <Grupo> gruposNuevos = _grupoCreador.AgruparPiedras(punto);

            Assert.AreEqual(1, gruposNuevos.Count);
            Assert.AreEqual(4, gruposNuevos[0].PuntosLibertades.Count);
        }
Пример #2
0
        public Juego JugarPiedra(Guid juegoGuid, string puntoId)
        {
            Juego juego = _juegoRepo.ObtenerJuego(juegoGuid);

            if (_puntoRepo.ExistePuntoEnTablero(puntoId, juego.Tablero) is false)
            {
                throw new FenixExceptionInvalidParameter("El punto no se encuentra en el tablero.");
            }
            Jugada jugada = new Jugada(juego);

            jugada.PonerPiedra(puntoId);


            GrupoCreador grupoCreador = new GrupoCreador(juego);
            List <Grupo> gruposNuevos = grupoCreador.AgruparPiedras(_puntoRepo.ObtenerPuntoPorId(puntoId));

            juego.ActualizarGrupos(gruposNuevos);

            jugada.CambiarTurno();

            _juegoRepo.GuardarCambios();

            return(juego);
        }