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();
        }
        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() ;
        }
Example #3
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;
        }