Example #1
0
        public static DNA load_dna( string parent,int generation)
        {
            S_DNA dna = new S_DNA();
            DNAPlant result = new DNAPlant(parent,generation);
            result.Generation = generation;
            var query = Context.DNA.Where(S => S.PARENT_ID == parent);
            foreach (S_DNA item in query){

                gen newgen =  new gen(item.GEN,(double) item.VALOR);
                result.dnachain.Add(newgen);
            }
            return result;
        }
        private DNA[] mixDNA(DNA plant, DNA plant_2)
        {
            int generation = plant.Generation > plant_2.Generation ? plant.Generation : plant_2.Generation;
            generation += 1;
            DNA[] LDNA = new DNA[2];
            Random numer = new Random();
            int numberOfGens = plant.dnachain.Count;
            int randomnumer = numer.Next(1, numberOfGens);
            DNA DNA1= new DNAPlant();
            DNA DNA2 = new DNAPlant();
            DNA1.Generation = generation;
            DNA2.Generation = generation;
            foreach(gen g in plant.dnachain.GetRange(0,randomnumer)){
                gen g1 = new gen(g.name, mutation(g.valor));
                DNA1.dnachain.Add(g1);
            }
            foreach (gen g in plant_2.dnachain.GetRange(randomnumer, numberOfGens-randomnumer))
            {
                gen g1 = new gen(g.name, mutation(g.valor));
                DNA1.dnachain.Add(g1);
            }
            foreach (gen g in plant_2.dnachain.GetRange(0, randomnumer))
            {
                gen g1 = new gen(g.name, mutation(g.valor));
                DNA2.dnachain.Add(g1);
            }
            foreach (gen g in plant.dnachain.GetRange(randomnumer, numberOfGens - randomnumer))
            {
                gen g1 = new gen(g.name, mutation(g.valor));
                DNA2.dnachain.Add(g1);
            }

            LDNA[0] = DNA1;
            LDNA[1] = DNA2;

            return LDNA;
        }
Example #3
0
 /// <summary>
 /// Save a gen in the data base
 /// </summary>
 /// <param name="Gen">Contains the Gen to be saved</param>
 /// <param name="parent">ID of the Plant to be saved</param>
 public static void save_gen(gen Gen, string parent)
 {
     S_DNA dna = new S_DNA();
     dna.PARENT_ID=  parent;
     dna.GEN = Gen.name;
     dna.VALOR= Gen.valor;
     Context.DNA.AddObject(dna);
     Console.WriteLine(  Context.SaveChanges());
 }