Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            int numero_arboles = 25;

            String[] tipos = { "pino", "abeto", "sauce", "roble", "algarrobo" };

            FabricaDeArboles fabrica = new FabricaDeArboles();

            Random rand = new Random();

            Random coord = new Random();


            for (int i = 0; i < numero_arboles; i++)
            {
                fabrica.GetArbol(tipos[rand.Next(0, tipos.Length - 1)])

                .Dibujar(

                    coord.Next(),

                    coord.Next(),

                    coord.Next()
                    );
            }

            Console.ReadLine();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            ////El código del cliente generalmente crea un montón de flyweight precargados en la
            ////etapa de inicialización de la aplicación.
            //// Arbitrary extrinsic state

            //int extrinsicstate = 22;

            //FlyweightFactory factory = new FlyweightFactory();

            //// Work with different flyweight instances

            //var fx = factory.GetFlyweight("X");
            //fx.Operation(--extrinsicstate);

            //var fy = factory.GetFlyweight("Y");
            //fy.Operation(--extrinsicstate);

            //var fz = factory.GetFlyweight("Z");
            //fz.Operation(--extrinsicstate);

            //var fa = factory.GetFlyweight("A");
            //fa.Operation(--extrinsicstate);

            //UnsharedConcreteFlyweight fu = new

            //  UnsharedConcreteFlyweight();

            //fu.Operation(--extrinsicstate);

            // Ejercicio

            // Definimos los tipos de árbol

            string[] tipos = { "pino", "abeto", "sauce" };

            // Obtenemos el número de árboles a dibujar por parámetro
            Random r           = new Random();
            int    num_arboles = r.Next(tipos.Length);

            // Creamos la fábrica de Árboles

            FabricaDeArboles f = new FabricaDeArboles();

            for (int i = 0; i < num_arboles; i++)

            {
                f.GetArbol(tipos[r.Next(tipos.Length)]).dibujar(r.Next(tipos.Length), r.Next(tipos.Length), r.Next(tipos.Length));
            }


            Console.ReadKey();
        }