//sobreescritura del metodo apagarIncendio de la clase IResponsable
        public override void apagarIncendio(Lugar lugar)
        {
            ICuartel cuartelDeBombero = fabricaDeBombero.crearCuartel();

            Console.WriteLine("Creando Bombero..");
            Console.WriteLine("");
            IResponsable responsable = cuartelDeBombero.getPersonal();

            Console.WriteLine("Asignando Estrategia:");
            Console.WriteLine("1) Secuencial");
            Console.WriteLine("2) Escalera");
            Console.WriteLine("3) Espiral");
            Console.WriteLine("");
            Console.WriteLine("seleccione: ");
            int opcion = int.Parse(Console.ReadLine());

            switch (opcion)
            {
            case 1: { ((Bombero)responsable).setEstrategiaDeApagado(new Secuencial()); break; }

            case 2: { ((Bombero)responsable).setEstrategiaDeApagado(new Escalera()); break; }

            case 3: { ((Bombero)responsable).setEstrategiaDeApagado(new Espiral()); break; }
            }
            Console.WriteLine("Asignado.");
            ((Bombero)responsable).apagarIncendio(lugar);

            cuartelDeBombero.devolverAlICuartl(responsable);
        }
Example #2
0
        public override void patrullarCalles(IPatrullable patrullable)
        {
            ICuartel     comisaria = fabricaDePolicias.crearCuartel();
            IResponsable policia   = comisaria.getPersonal();

            ((Policia)policia).patrullarCalles(patrullable);
            comisaria.devolverAlICuartl(policia);
        }
        public override void atenderInfartado(IInfartable infartable)
        {
            ICuartel     hospital = fabricaDeMedicos.crearCuartel();
            IResponsable medico   = hospital.getPersonal();

            ((Medico)medico).atenderInfartado(infartable);
            hospital.devolverAlICuartl(medico);
        }
Example #4
0
        public static void run()
        {
            Console.WriteLine("Se utiliza el main del patron Singlenton, ya que aca estan los cuarteles creados y cargados");

            Console.WriteLine("Creando ecenario del testing...");
            Console.WriteLine("");
            Console.WriteLine("Se han creado cuatro fabrica de herores");
            Console.WriteLine("");

            IFabricaDeHeroes bombero      = new HeroeBombero();
            IFabricaDeHeroes Policia      = new HeroePolicia();
            IFabricaDeHeroes Medico       = new HeroeMedico();
            IFabricaDeHeroes Electricista = new HeroeElectricista();

            //Creo 4 cuarteles y le cargo 4 heroes , 4 herramientas y 4 vehiculos

            ICuartel cuartelDeBomberos = crearHeroe(bombero);

            cuartelDeBomberos = crearHeroe(bombero);
            cuartelDeBomberos = crearHeroe(bombero);
            cuartelDeBomberos = crearHeroe(bombero);
            cuartelDeBomberos = crearHeroe(bombero);

            ICuartel Comisaria = crearHeroe(Policia);

            Comisaria = crearHeroe(Policia);
            Comisaria = crearHeroe(Policia);
            Comisaria = crearHeroe(Policia);
            Comisaria = crearHeroe(Policia);

            ICuartel Hospital = crearHeroe(Medico);

            Hospital = crearHeroe(Medico);
            Hospital = crearHeroe(Medico);
            Hospital = crearHeroe(Medico);
            Hospital = crearHeroe(Medico);

            ICuartel CentralElectrica = crearHeroe(Electricista);

            CentralElectrica = crearHeroe(Electricista);
            CentralElectrica = crearHeroe(Electricista);
            CentralElectrica = crearHeroe(Electricista);
            CentralElectrica = crearHeroe(Electricista);

            //Obtengo cuatro personales de cada cuartel

            IResponsable bombero1 = cuartelDeBomberos.getPersonal();
            IResponsable bombero2 = cuartelDeBomberos.getPersonal();
            IResponsable bombero3 = cuartelDeBomberos.getPersonal();
            IResponsable bombero4 = cuartelDeBomberos.getPersonal();

            IResponsable policia1 = Comisaria.getPersonal();
            IResponsable policia2 = Comisaria.getPersonal();
            IResponsable policia3 = Comisaria.getPersonal();
            IResponsable policia4 = Comisaria.getPersonal();

            IResponsable medico1 = Hospital.getPersonal();
            IResponsable medico2 = Hospital.getPersonal();
            IResponsable medico3 = Hospital.getPersonal();
            IResponsable medico4 = Hospital.getPersonal();

            IResponsable electrisista1 = CentralElectrica.getPersonal();
            IResponsable electrisista2 = CentralElectrica.getPersonal();
            IResponsable electrisista3 = CentralElectrica.getPersonal();
            IResponsable electrisista4 = CentralElectrica.getPersonal();

            //mando a la accion a los heroes


            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroes Bombero");
            Console.WriteLine("---------------------------------------------------------------");

            imprimirHeroeAlctual("Bombero 1");
            ((Bombero)bombero1).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bombero1).setLugar(new Casa(null, 4, 10, 2, new Calle("pergamono", 100, 4, 30)));
            bombero1.apagarIncendio(((Bombero)bombero1).getLugar());
            ((Bombero)bombero1).setEstrategiaDeApagado(null);
            ((Bombero)bombero1).setLugar(null);
            cuartelDeBomberos.devolverAlICuartl(bombero1);


            imprimirHeroeAlctual("Bombero 2");
            ((Bombero)bombero2).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bombero2).setLugar(new Casa(null, 4, 10, 2, new Calle("Pedriel", 100, 4, 30)));
            bombero2.apagarIncendio(((Bombero)bombero2).getLugar());
            ((Bombero)bombero2).setEstrategiaDeApagado(null);
            ((Bombero)bombero2).setLugar(null);
            cuartelDeBomberos.devolverAlICuartl(bombero2);


            imprimirHeroeAlctual("Bombero 3");
            ((Bombero)bombero3).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bombero3).setLugar(new Plaza(null, "Americas", 10, 40, new Calle("pergamono", 100, 4, 30)));
            bombero3.apagarIncendio(((Bombero)bombero3).getLugar());
            ((Bombero)bombero3).setEstrategiaDeApagado(null);
            ((Bombero)bombero3).setLugar(null);
            cuartelDeBomberos.devolverAlICuartl(bombero3);


            imprimirHeroeAlctual("Bombero 4");
            ((Bombero)bombero4).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bombero4).setLugar(new Casa(null, 4, 10, 2, new Calle("pergamono", 100, 4, 30)));
            bombero4.apagarIncendio(((Bombero)bombero4).getLugar());
            ((Bombero)bombero4).setEstrategiaDeApagado(null);
            ((Bombero)bombero4).setLugar(null);
            cuartelDeBomberos.devolverAlICuartl(bombero4);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Policia");
            Console.WriteLine("---------------------------------------------------------------");

            imprimirHeroeAlctual("Policia 1");
            policia1.patrullarCalles(new Calle("pergamono", 100, 4, 30));
            Comisaria.devolverAlICuartl(policia1);

            imprimirHeroeAlctual("Policia 2");
            policia2.patrullarCalles(new Calle("Oncativo", 100, 4, 30));
            Comisaria.devolverAlICuartl(policia2);

            imprimirHeroeAlctual("Policia 3");
            policia3.patrullarCalles(new Calle("pergamono", 100, 4, 30));
            Comisaria.devolverAlICuartl(policia3);

            imprimirHeroeAlctual("Policia 4");
            policia4.patrullarCalles(new Calle("pergamono", 100, 4, 30));
            Comisaria.devolverAlICuartl(policia4);


            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Medico");
            Console.WriteLine("---------------------------------------------------------------");

            imprimirHeroeAlctual("Medico 1");
            medico1.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(medico1);

            imprimirHeroeAlctual("Medico 2");
            medico2.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(medico2);

            imprimirHeroeAlctual("Medico 3");
            medico3.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(medico3);

            imprimirHeroeAlctual("Medico 4");
            medico4.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(medico4);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Electricista");
            Console.WriteLine("---------------------------------------------------------------");

            //creo una manzana en comun para el testing
            Esquina esquina1 = new Esquina("Oncativo y Pedriel", 12);
            Esquina esquina2 = new Esquina("Brochero y Pedriel", 4);
            Esquina esquina3 = new Esquina("Oncativo y Pinochado", 5);
            Esquina esquina4 = new Esquina("O y Pedriel", 12);

            Calle calle1 = new Calle("Pergamino", 100, 4, 50);
            Calle calle2 = new Calle("Brochero", 100, 7, 50);
            Calle calle3 = new Calle("Pedriel", 100, 6, 50);
            Calle calle4 = new Calle("Oncativo", 100, 8, 50);

            Plaza plaza = new Plaza(null, "Americas", 10, 40, calle1);

            lugarCompuesto manzana1 = new lugarCompuesto();

            manzana1.agregarLugar(esquina1);
            manzana1.agregarLugar(esquina2);
            manzana1.agregarLugar(esquina3);
            manzana1.agregarLugar(esquina4);
            manzana1.agregarLugar(calle1);
            manzana1.agregarLugar(calle2);
            manzana1.agregarLugar(calle3);
            manzana1.agregarLugar(calle4);
            manzana1.agregarLugar(plaza);


            //mando a cada electrisista a revisar y cambiar las lamparas quemadas

            imprimirHeroeAlctual("Electricista 1");
            electrisista1.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(electrisista1);

            imprimirHeroeAlctual("Electricista 2");
            electrisista2.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(electrisista2);

            imprimirHeroeAlctual("Electricista 3");
            electrisista3.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(electrisista3);

            imprimirHeroeAlctual("Electricista 4");
            electrisista4.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(electrisista4);
        }
        public static void run()
        {
            Console.WriteLine("Creando ecenario del testing...");
            Console.WriteLine("");
            Console.WriteLine("Se han creado cuatro fabrica de herores");
            Console.WriteLine("");

            IFabricaDeHeroes bombero      = new HeroeBombero();
            IFabricaDeHeroes Policia      = new HeroePolicia();
            IFabricaDeHeroes Medico       = new HeroeMedico();
            IFabricaDeHeroes Electricista = new HeroeElectricista();

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Bombero");
            Console.WriteLine("---------------------------------------------------------------");

            ICuartel     CuartelDeBombero   = crearHeroe(bombero);
            IResponsable bomberoResponsable = CuartelDeBombero.getPersonal();

            ((Bombero)bomberoResponsable).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bomberoResponsable).setLugar(new Casa(null, 4, 10, 2, new Calle("pergamono", 100, 4, 30)));
            bomberoResponsable.apagarIncendio(((Bombero)bomberoResponsable).getLugar());
            ((Bombero)bomberoResponsable).setEstrategiaDeApagado(null);
            ((Bombero)bomberoResponsable).setLugar(null);
            CuartelDeBombero.devolverAlICuartl(bomberoResponsable);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Policia");
            Console.WriteLine("---------------------------------------------------------------");

            ICuartel     Comisaria          = crearHeroe(Policia);
            IResponsable PoliciaResponsable = Comisaria.getPersonal();

            PoliciaResponsable.patrullarCalles(new Calle("pergamono", 100, 4, 30));
            Comisaria.devolverAlICuartl(PoliciaResponsable);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Medico");
            Console.WriteLine("---------------------------------------------------------------");

            ICuartel     Hospital          = crearHeroe(Medico);
            IResponsable MedicoResponsable = Hospital.getPersonal();

            MedicoResponsable.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(MedicoResponsable);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Electricista");
            Console.WriteLine("---------------------------------------------------------------");

            //creo una manzana primera Manzana
            Esquina esquina1 = new Esquina("Oncativo y Pedriel", 12);
            Esquina esquina2 = new Esquina("Brochero y Pedriel", 4);
            Esquina esquina3 = new Esquina("Oncativo y Pinochado", 5);
            Esquina esquina4 = new Esquina("O y Pedriel", 12);

            Calle calle1 = new Calle("Pergamino", 100, 4, 50);
            Calle calle2 = new Calle("Brochero", 100, 7, 50);
            Calle calle3 = new Calle("Pedriel", 100, 6, 50);
            Calle calle4 = new Calle("Oncativo", 100, 8, 50);

            Plaza plaza = new Plaza(null, "Americas", 10, 40, calle1);

            lugarCompuesto manzana1 = new lugarCompuesto();

            manzana1.agregarLugar(esquina1);
            manzana1.agregarLugar(esquina2);
            manzana1.agregarLugar(esquina3);
            manzana1.agregarLugar(esquina4);
            manzana1.agregarLugar(calle1);
            manzana1.agregarLugar(calle2);
            manzana1.agregarLugar(calle3);
            manzana1.agregarLugar(calle4);
            manzana1.agregarLugar(plaza);

            ICuartel     CentralElectrica        = crearHeroe(Electricista);
            IResponsable ElectricistaResponsable = CentralElectrica.getPersonal();

            ElectricistaResponsable.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(ElectricistaResponsable);
        }