Пример #1
0
        private Mariposa CrossOver(Mariposa p1, Mariposa p2)
        {
            int antena       = p1.Genotipo[0];
            int espiritrompa = p1.Genotipo[1];
            int color        = p2.Genotipo[2];
            int forma        = p2.Genotipo[3];
            int tam          = p2.Genotipo[4];

            return(new Mariposa(antena, espiritrompa, color, forma, tam));
        }
Пример #2
0
        private void SeleccionPadres()
        {
            for (int i = 0; i < _poblacion.Count; i += 2)
            {
                Mariposa p1 = _poblacion.ElementAt(i);
                Mariposa p2 = _poblacion.ElementAt(i + 1);

                Mariposa h1 = CrossOver(p1, p2);
                Mariposa h2 = CrossOver(p2, p1);

                _poblacionHijos.Add(h1);
                _poblacionHijos.Add(h2);
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            // Animal unAnimal = new Animal(); No se puede porque Animal es clase abstracta

            Paloma   unaPaloma   = new Paloma("Blanquita");
            Tigre    unTigre     = new Tigre("Tiger");
            Aguila   unAguila    = new Aguila("Mágica");
            Mariposa unaMariposa = new Mariposa("una mariposa");

            List <Animal> animales = new List <Animal>();

            animales.Add(unaPaloma);
            animales.Add(unTigre);
            animales.Add(unAguila);
            animales.Add(unaMariposa);

            // unaPaloma.Desplazarse();
            // unTigre.Desplazarse();
            // unAguila.Desplazarse();
            foreach (Animal cadaAnimal in animales)
            {
                Console.WriteLine(cadaAnimal.GetType().ToString());
                cadaAnimal.Desplazarse();
            }

            Console.WriteLine("\n===========================================================\n\n");

            Avion unAvion = new Avion();

            List <IObjVolador> voladores = new List <IObjVolador>();

            voladores.Add(unAvion);
            voladores.Add(unaPaloma);
            // voladores.Add(unTigre); un Tigre no implementa la interfaz IObjVolador por lo tanto no puede ser refereciando por ella
            voladores.Add(unAguila);
            voladores.Add(unaMariposa);

            foreach (IObjVolador cadaVolador in voladores)
            {
                Console.WriteLine(cadaVolador.GetType().ToString());
                cadaVolador.Volar();
            }



            Console.ReadKey();
        }