public Modelo build() { AdapterModelo adapter = AdapterModelo.Instance; return(new Modelo( adapter.getModelo(indice_modelo), adapter.getColor(binario_color), adapter.getPosicion(binario_posicion), adapter.getPertenencia(binario_pertenencia))); }
private void loguearCromosoma(Chromosome cromosoma) { appendText(Color.CadetBlue, "Aptitud: " + cromosoma.Fitness, true); appendText(Color.Blue, cromosoma.ToBinaryString(), true); var particiones = Acertijo.particionar(cromosoma.Genes, 9); Chromosome cromo = new Chromosome(); int i = 0; foreach (var particion in particiones) { cromo.Genes.Clear(); List <Gene> genes = particion.ToList <Gene>(); cromo.Genes.AddRange(genes); appendText(Color.DarkMagenta, cromo.ToBinaryString()); appendText(Color.Black, " ---> " + adapter.getModelo(i)); var genesAuxiliares = Acertijo.particionar(genes, 3); int t = 0; foreach (var genAuxiliar in genesAuxiliares) { cromo.Genes.Clear(); cromo.Genes.AddRange(genAuxiliar); string cadenaBits = cromo.ToBinaryString(); if (cadenaBits == "111") { appendText(Color.YellowGreen, ", INVALIDO"); } else { switch (t) { case 0: appendText(Color.Black, ", " + adapter.getColor(cadenaBits)); break; case 1: appendText(Color.Black, ", " + adapter.getPertenencia(cadenaBits)); break; case 2: appendText(Color.Black, ", " + adapter.getPosicion(cadenaBits)); break; default: appendText(Color.White, ", INVALIDO"); break; } } t++; } i++; appendText(Color.Black, " ", true); } }