public static ICuartel crearHeroe(IFabricaDeHeroes fabrica) { ICuartel cuartel = fabrica.crearCuartel(); cuartel.agregarPersonal(fabrica.crearHeroe()); cuartel.agregarHerramienta(fabrica.crearHerramienta()); cuartel.agregarVehiculo(fabrica.crearVehiculo()); return(cuartel); }
public static ICuartel crearHeroe(IFabricaDeHeroes fabricaDeHeroes) { ICuartel cuartel = fabricaDeHeroes.crearCuartel(); IResponsable responsable = fabricaDeHeroes.crearHeroe(); IVehiculo vehiculo = fabricaDeHeroes.crearVehiculo(); IHerramienta herramienta = fabricaDeHeroes.crearHerramienta(); cuartel.agregarVehiculo(vehiculo); cuartel.agregarPersonal(responsable); cuartel.agregarHerramienta(herramienta); return(cuartel); }
override public void revisar(IIluminable iluminable) { if (heroeReal == null) { heroeReal = fabrica.crearHeroe(); heroeReal.setHerramienta(fabrica.crearHerramienta()); heroeReal.setVehiculo(fabrica.crearVehiculo()); } heroeReal.revisar(iluminable); // devuelvo el bombero creado al cuartel fabrica.crearCuartel().agregarPersonal(heroeReal); fabrica.crearCuartel().agregarVehiculo(heroeReal.getVehiculo()); fabrica.crearCuartel().agregarHerramienta(heroeReal.getHerramienta()); }
public override void apagarIncendio(ILugar lugar, Calle calle) { if (fabrica == null) { fabrica = new FabricaDeBombero(); } Bombero bombero = (Bombero)fabrica.crearHeroe(); bombero.Herramienta = fabrica.crearHerramienta(); bombero.Vehiculo = fabrica.crearVehiculo(); bombero.apagarIncendio(lugar, calle); }
public override void revisar(ILuminable l) { if (fabrica == null) { fabrica = new FabricaDeElectricista(); } Electricista electricista = (Electricista)fabrica.crearHeroe(); electricista.Herramienta = fabrica.crearHerramienta(); electricista.Vehiculo = fabrica.crearVehiculo(); electricista.revisar(l); }
public override void patrullarCalles(IPatrullable patrullable) { if (fabrica == null) { fabrica = new FabricaDePolicia(); } Policia policia = (Policia)fabrica.crearHeroe(); policia.Herramienta = fabrica.crearHerramienta(); policia.Vehiculo = fabrica.crearVehiculo(); policia.patrullarCalles(patrullable); }
override public void apagarIncendio(ILugar lugar) { if (heroeReal == null) { heroeReal = fabrica.crearHeroe(); // casteo para poder setear estrategia (propia de un bombero) heroeReal.setHerramienta(fabrica.crearHerramienta()); heroeReal.setVehiculo(fabrica.crearVehiculo()); // seteo la estrategia de apagado, pero antes creo un aux de tipo Bombero para poder setear apagado Bombero aux = (Bombero)heroeReal; Console.WriteLine("[BOMBERO] Elegir estrategia de apagado (ingresar número):"); Console.WriteLine(" 1. Apagado Secuencial"); Console.WriteLine(" 2. Apagado Escalera"); Console.WriteLine(" 3. Apagado Espiral"); bool opcionvalida = false; while (!opcionvalida) { char op = Console.ReadKey().KeyChar; switch (op) { case '1': aux.setEstrategiaApagado(new ApagadoSecuencial()); opcionvalida = true; break; case '2': aux.setEstrategiaApagado(new ApagadoEscalera()); opcionvalida = true; break; case '3': aux.setEstrategiaApagado(new ApagadoEspiral()); opcionvalida = true; break; default: Console.WriteLine(" \n ERROR: Por favor, ingrese una opción correcta: "); break; } } } heroeReal.apagarIncendio(lugar); // devuelvo el bombero creado al cuartel fabrica.crearCuartel().agregarPersonal(heroeReal); fabrica.crearCuartel().agregarVehiculo(heroeReal.getVehiculo()); fabrica.crearCuartel().agregarHerramienta(heroeReal.getHerramienta()); }
public override void patrullarCalles(IPatrullable lugarAPatrullar) { if (heroeReal == null) { heroeReal = fabrica.crearHeroe(); // casteo para poder setear orden (propia de un bombero) heroeReal.setHerramienta(fabrica.crearHerramienta()); heroeReal.setVehiculo(fabrica.crearVehiculo()); // seteo la estrategia de orden, pero antes creo un aux de tipo propio de heroe para poder setear apagado Policia aux = (Policia)heroeReal; Console.WriteLine("[POLICIA] Elegir orden de policía (ingresar número):"); Console.WriteLine(" 1. Voz de Alto"); Console.WriteLine(" 2. Perseguir y arrestar"); Console.WriteLine(" 3. Avisar y pedir refuerzos"); bool opcionvalida = false; while (!opcionvalida) { char op = Console.ReadKey().KeyChar; switch (op) { case '1': aux.setOrdenPolicia(new OPVozDeAlto()); opcionvalida = true; break; case '2': aux.setOrdenPolicia(new OPPerseguirYArrestar()); opcionvalida = true; break; case '3': aux.setOrdenPolicia(new OPAvisarYPedirRefuerzos()); opcionvalida = true; break; default: Console.WriteLine(" \n ERROR: Por favor, ingrese una opción correcta: "); break; } } } heroeReal.patrullarCalles(lugarAPatrullar); // devuelvo el bombero creado al cuartel fabrica.crearCuartel().agregarPersonal(heroeReal); fabrica.crearCuartel().agregarVehiculo(heroeReal.getVehiculo()); fabrica.crearCuartel().agregarHerramienta(heroeReal.getHerramienta()); }
override public void atenderInfarto(IInfartable paciente) { if (heroeReal == null) { heroeReal = fabrica.crearHeroe(); // casteo para poder setear estrategia (propia de un bombero) heroeReal.setHerramienta(fabrica.crearHerramienta()); heroeReal.setVehiculo(fabrica.crearVehiculo()); // seteo la estrategia de apagado, pero antes creo un aux de tipo Bombero para poder setear apagado Medico aux = (Medico)heroeReal; Console.WriteLine("[MEDICO] Elegir estrategia de protocolo RCP (ingresar número):"); Console.WriteLine(" 1. Intentar sin detenerse"); Console.WriteLine(" 2. Intentar y desistir"); bool opcionvalida = false; while (!opcionvalida) { char op = Console.ReadKey().KeyChar; switch (op) { case '1': aux.setProtocoloRCP(new RCPTipoA()); opcionvalida = true; break; case '2': aux.setProtocoloRCP(new RCPTipoB()); opcionvalida = true; break; default: Console.WriteLine(" \n ERROR: Por favor, ingrese una opción correcta: "); break; } } } heroeReal.atenderInfarto(paciente); // devuelvo el bombero creado al cuartel fabrica.crearCuartel().agregarPersonal(heroeReal); fabrica.crearCuartel().agregarVehiculo(heroeReal.getVehiculo()); fabrica.crearCuartel().agregarHerramienta(heroeReal.getHerramienta()); }
public override void atenderInfarto(IInfartable transeunte){ if (fabrica==null) { fabrica= new FabricaDeMedico(); } Medico medico= (Medico)fabrica.crearHeroe(); medico.Herramienta= fabrica.crearHerramienta(); medico.Vehiculo= fabrica.crearVehiculo(); medico.atenderInfarto(transeunte); }
//SOBREESCRIBIENDO EL METODO APAGAR INCENDIO public override void ApagarIncendio2(ILugar pLugar, Calle pCalle) { IResponsable bombero = fabrica.crearHeroe(); IHerramienta manguera = fabrica.crearHerramienta(); IVehiculo autobomba = fabrica.crearVehiculo(); //USO DE PATRON SINGLETON CuartelDeBomberos cuartel = CuartelDeBomberos.getCuartelBombero(); //SE AGREGA AL CUARTEL cuartel.agregarPersonal(bombero); cuartel.agregarHerramienta(manguera); cuartel.agregarVehiculo(autobomba); //OBTENGO EL BOMBERO RESPONSABLE Bombero bomberoResponsable = (Bombero)cuartel.getPersonal(); //LE ASIGNO UNA ESTRATEGIA bomberoResponsable.setEstrategia(new Escalera()); //DELEGO LA TAREA AL VERDADERO BOMBERO, PASANDO EL ILUGAR Y LA CALLE bomberoResponsable.ApagarIncendio2(pLugar, pCalle); }