// Constructores public Plaza(string nombre, int superficie, int arboles, int farolas, Calle calle, DirectorDeSectores directorDeSectores) { this.nombre = nombre; this.superficie = superficie; this.arboles = arboles; this.farolas = farolas; this.calle = calle; this.directorDeSectores = directorDeSectores; }
override public void apagarIncendio(ILugar lugar, Calle calle) { ISector[,] matrizLugar = lugar.getSectores(); int caudalAgua = calle.CaudalAgua; int CantFilas = matrizLugar.GetLength(0); int CantColumnas = matrizLugar.GetLength(1); int aux = CantColumnas - 1; int fila, columna; for (int i = 0; i < CantFilas; i++) { // a derecha for (int j = i; j < aux; j++) { fila = CantFilas - (aux + 1); columna = j; ApagarSector(fila, columna, matrizLugar, caudalAgua); } // a abajo for (int j = i; j < aux; j++) { fila = j; columna = aux; ApagarSector(fila, columna, matrizLugar, caudalAgua); } // a izquierda for (int j = aux; j > (i - 1); j--) { fila = aux; columna = j; ApagarSector(fila, columna, matrizLugar, caudalAgua); } // increento aux aux--; // hacia arriba for (int j = aux; j > i; j--) { fila = j; columna = CantFilas - (aux + 2); ApagarSector(fila, columna, matrizLugar, caudalAgua); } } // Creo mensajes de finalización en consola Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(" ¡¡¡¡¡¡¡ El fuego de {0} fue extinguido en su totalidad!!!!!! \n", lugar); Console.ResetColor(); }
override public void apagarIncendio(ILugar lugar, Calle calle) { // Obtengo las dimensiones de lugar ISector[,] matrizLugar = lugar.getSectores(); int caudalAgua = calle.CaudalAgua; int lugarFilas = matrizLugar.GetLength(0); int lugarColumnas = matrizLugar.GetLength(1); for (int fila = 0; fila < lugarFilas; fila++) { for (int columna = 0; columna < lugarColumnas; columna++) { ApagarSector(fila, columna, matrizLugar, caudalAgua); } } // Creo mensajes de finalización en consola Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(" ¡¡¡¡¡¡¡ El fuego de {0} fue extinguido en su totalidad!!!!!! \n", lugar); Console.ResetColor(); }
static void Main(string[] args) { Test_HeroesDeCiudad.tituloDecorado(); // heroes BomberoProxy bombero = new BomberoProxy(); MedicoProxy medico = new MedicoProxy(); PoliciaProxy policia = new PoliciaProxy(); ElectricistaProxy electricista = new ElectricistaProxy(); // creo Cadena medico.setSiguiente(bombero); policia.setSiguiente(medico); electricista.setSiguiente(policia); Operador911 op = new Operador911(electricista); // armar cadena? // 10 ILugar DirectorDeSectores directorFavorable = new DirectorDeSectores(new ConstructorDesfavorable()); Calle callePrincipal = new Calle(11, 10, 50); // 50 de agua Calle calleSecundaria = new Calle(15, 10, 30); // 20 de agua Casa A = new Casa(1, 4, 10, callePrincipal, directorFavorable); Casa B = new Casa(1, 16, 10, callePrincipal, directorFavorable); Casa C = new Casa(1, 9, 10, calleSecundaria, directorFavorable); Casa D = new Casa(1, 9, 10, calleSecundaria, directorFavorable); Casa E = new Casa(1, 16, 10, calleSecundaria, directorFavorable); Casa F = new Casa(1, 40, 10, calleSecundaria, directorFavorable); Plaza G = new Plaza("Plaza Alemana", 100, 10, 10, callePrincipal, directorFavorable); Casa H = new Casa(1, 72, 10, calleSecundaria, directorFavorable); Casa I = new Casa(1, 30, 10, callePrincipal, directorFavorable); Casa J = new Casa(1, 25, 10, calleSecundaria, directorFavorable); // Instancie una DenunciasPorTablero y hágala observadora de los lugares A, B, C, D, E y F. DenunciasPorTablero denunciasPorTablero = new DenunciasPorTablero(); A.agregarObservador(denunciasPorTablero); B.agregarObservador(denunciasPorTablero); C.agregarObservador(denunciasPorTablero); D.agregarObservador(denunciasPorTablero); E.agregarObservador(denunciasPorTablero); F.agregarObservador(denunciasPorTablero); //Instancie una DenunciasPorWhatsapp y agréguele los lugares G, H e I MensajeWhatsapp mensajeswpp = null; // 3 denuncias de incendio mensajeswpp = new MensajeWhatsapp(new DenunciaDeIncendio(G), mensajeswpp); mensajeswpp = new MensajeWhatsapp(new DenunciaDeIncendio(H), mensajeswpp); mensajeswpp = new MensajeWhatsapp(new DenunciaDeIncendio(I), mensajeswpp); // agregando denuncias 12 - chain // 2 denuncias de infarto mensajeswpp = new MensajeWhatsapp(new DenunciaDeInfarto(new Transeunte(0.7, 0.7, 0.7)), mensajeswpp); InfartableAdapter passerby = new InfartableAdapter(new Passerby(0.7, 0.7, 0.7)); mensajeswpp = new MensajeWhatsapp(new DenunciaDeInfarto(passerby), mensajeswpp); // 3 denuncias de robo mensajeswpp = new MensajeWhatsapp(new DenunciaDeRobo(A), mensajeswpp); mensajeswpp = new MensajeWhatsapp(new DenunciaDeRobo(C), mensajeswpp); mensajeswpp = new MensajeWhatsapp(new DenunciaDeRobo(D), mensajeswpp); // 5 denuncias lamparas quemadas mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(G), mensajeswpp); mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Esquina(10)), mensajeswpp); mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Esquina(2)), mensajeswpp); mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(calleSecundaria), mensajeswpp); mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(callePrincipal), mensajeswpp); DenunciasPorWhatsapp denunciasPorWhatsapp = new DenunciasPorWhatsapp(mensajeswpp); // Instancie una DenunciasPorMostrador con el lugar J DenunciasPorMostrador denunciasPorMostrador = new DenunciasPorMostrador(new DenunciaDeIncendio(J)); // Invoque al método chispa de los lugares B y F (para que se agreguen denuncias a la lista de DenunciasPorTablero). B.chispa(); F.chispa(); // PROBADNO FUNCIONAMIENTO Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\n \n ---------------------------- \n ATENDIENDO DENUNCIAS POR WHATSAPP! \n ---------------------------- \n "); Console.ForegroundColor = ConsoleColor.White; op.atenderDenuncias(denunciasPorWhatsapp); Console.WriteLine("\n ------------------------------- \n Presiona una tecla para cerrar"); Console.ReadKey(); }
abstract public void apagarIncendio(ILugar lugar, Calle calle);