示例#1
0
        public void ActualizarGrupos_EliminaYGuardaNuevasAgrupaciones()
        {
            Juego juego = new Juego(Tablero.nueveXnueve);

            List <Grupo> nuevosGrupos = new List <Grupo>
            {
                new Grupo(juego.Guid, Color.Negro, new List <string> {
                    "9X1Y1"
                }, new List <string> {
                    "9X2Y1", "9X1Y2"
                }),
                new Grupo(juego.Guid, Color.Blanco, new List <string> {
                    "9X9Y9"
                }, new List <string> {
                    "9X9Y8", "9X8Y9"
                })
            };

            juego.ActualizarGrupos(nuevosGrupos);

            Assert.AreEqual(2, juego.Grupos.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);
        }