private static enumGene processaGene(enumGene geneA, enumGene geneB) { // Aplica lei de Mendel: if (geneA == enumGene.AA && geneB == enumGene.AA) { return(enumGene.AA); } if (geneA == enumGene.aa && geneB == enumGene.aa) { return(enumGene.aa); } if ((geneA == enumGene.AA && geneB == enumGene.aa) || (geneA == enumGene.aa && geneB == enumGene.AA)) { return(enumGene.Aa); } int random = randomizer.Next(0, 4); // Inclui 0, Exclui 4. Faixa: [0-3]. Suficiente para obter 25%. if ((geneA == enumGene.AA && geneB == enumGene.Aa) || (geneA == enumGene.Aa && geneB == enumGene.AA)) { if (random >= 2) { return(enumGene.AA); } return(enumGene.Aa); } if ((geneA == enumGene.Aa && geneB == enumGene.aa) || (geneA == enumGene.aa && geneB == enumGene.Aa)) { if (random >= 2) { return(enumGene.Aa); } return(enumGene.aa); } if (geneA == enumGene.Aa && geneB == enumGene.Aa) { if (random == 0) { return(enumGene.AA); } if (random == 1) { return(enumGene.aa); } return(enumGene.Aa); } // The code should never reach this point. return(enumGene.Aa); }
public static double obtemInfluenciadorGenetico(enumGene gene) { if (gene == enumGene.aa) { return(0.00); } if (gene == enumGene.Aa) { return(0.50); } //if (gene == enumGene.AA) return(1.00); }