public void AddTrait(string traitSetName, GeneReader.BinomialAlleles alleles) { genome[traitSetName] = alleles; string traitName = GeneReader.GetBinomialTrait(traitSetName, alleles); TraitDict.Trait trait = TraitDict.traitsMap[traitName]; traits.Add(trait); }
public static Genome GenerateRandomGenome() { Genome genome = new Genome(); foreach (string traitSetName in GeneReader.GetBinomialTraitNames()) { GeneReader.BinomialAlleles alleles = GetRandomBinomialAllele(); genome.AddTrait(traitSetName, alleles); } return(genome); }
public Genome BreedWith(Genome mate) { Genome child = new Genome(); foreach (string traitSetName in GeneReader.GetBinomialTraitNames()) { GeneReader.BinomialAlleles thisAlleles = genome[traitSetName]; GeneReader.BinomialAlleles otherAlleles = mate.genome[traitSetName]; GeneReader.BinomialAlleles childAlleles = GeneReader.Punnet(thisAlleles, otherAlleles); child.AddTrait(traitSetName, childAlleles); } return(child); }