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