Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    public static Genome GenerateRandomGenome()
    {
        Genome genome = new Genome();

        foreach (string traitSetName in GeneReader.GetBinomialTraitNames())
        {
            GeneReader.BinomialAlleles alleles = GetRandomBinomialAllele();
            genome.AddTrait(traitSetName, alleles);
        }
        return(genome);
    }
Exemplo n.º 3
0
    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);
    }