Esempio n. 1
0
        public void UnaReinaTest()
        {
            var tablero = new Tablero();

            tablero.AgregarReina(0, 0, 0);

            Assert.AreEqual(1, tablero.CalcularReinasVivas().Count);
        }
Esempio n. 2
0
        public void TresReinasTest()
        {
            var tablero = new Tablero();

            tablero.AgregarReina(0, 0, 0).AgregarReina(7, 7, 1).AgregarReina(3, 1, 2);

            Assert.AreEqual(1, tablero.CalcularReinasVivas().Count);
        }
Esempio n. 3
0
        public void TresUnaEnMedioVivasTest()
        {
            var tablero = new Tablero();

            tablero.AgregarReina(3, 3, 0).AgregarReina(0, 2, 1).AgregarReina(2, 1, 2);

            Assert.AreEqual(3, tablero.CalcularReinasVivas().Count);
        }
Esempio n. 4
0
        public void DosReinasSuperpuestasMuertasTest()
        {
            var tablero = new Tablero();

            tablero.AgregarReina(3, 3, 0).AgregarReina(3, 3, 1);

            Assert.AreEqual(0, tablero.CalcularReinasVivas().Count);
        }
        private decimal AnalizarReinas(ICromosoma cromosoma)
        {
            Tablero tablero = new Tablero();
            for (int indiceReina = 0; indiceReina < cromosoma.Genes.Length; indiceReina++)
            {
                var genReina = cromosoma.Genes.GetValue(indiceReina) as GenReina;
                var reina = genReina.Valor as Reina;

                tablero.AgregarReina(reina);
            }

            return tablero.CantPosicionesVacias();
        }
Esempio n. 6
0
        public void OchoReinasVivasReinasTest()
        {
            var tablero = new Tablero();

            tablero.AgregarReina(0, 3, 0);
            tablero.AgregarReina(1, 6, 1);
            tablero.AgregarReina(2, 2, 2);
            tablero.AgregarReina(3, 7, 3);
            tablero.AgregarReina(4, 1, 4);
            tablero.AgregarReina(5, 4, 5);
            tablero.AgregarReina(6, 0, 6);
            tablero.AgregarReina(7, 5, 7);

            Assert.AreEqual(8, tablero.CalcularReinasVivas().Count);
        }
        private decimal AnalizarReinas(ICromosoma cromosoma)
        {
            Tablero tablero = new Tablero();
            for (int indiceReina = 0; indiceReina < cromosoma.Genes.Length; indiceReina++)
            {
                var genReina = cromosoma.Genes.GetValue(indiceReina) as GenReina;
                var reina = genReina.Valor as Reina;

                tablero.AgregarReina(reina);
            }

            //Negativo porque conviene que tenga MENOS amenazados.
            return -tablero.CantCasillerosAmenazados() ;
        }
Esempio n. 8
0
        private decimal AnalizarReinas(ICromosoma cromosoma)
        {
            decimal reinaVivas = 0;

            Tablero tablero = new Tablero();
            for (int indiceReina = 0; indiceReina < cromosoma.Genes.Length; indiceReina++)
            {
                var genReina = cromosoma.Genes.GetValue(indiceReina) as GenReina;
                var reina = genReina.Valor as Reina;

                tablero.AgregarReina(reina);
            }

            reinaVivas = tablero.CalcularReinasVivas().Count;

            return reinaVivas;
        }