Beispiel #1
0
        override public void apagarIncendio(ILugar lugar, Calle calle)
        {
            ISector[,] matrizLugar = lugar.getSectores();
            int caudalAgua = calle.CaudalAgua;

            int lugarCantFilas    = matrizLugar.GetLength(0);
            int lugarCantColumnas = matrizLugar.GetLength(1);

            for (int fila = 0; fila < lugarCantFilas; fila++)
            {
                if ((fila % 2) == 0)
                {
                    //Console.WriteLine("La fila es par, recorrido --> ");
                    for (int columna = 0; columna < lugarCantColumnas; columna++)
                    {
                        ApagarSector(fila, columna, matrizLugar, caudalAgua);
                    }
                }
                else
                {
                    //Console.WriteLine("La fila es impar, recorrido <-- ");
                    for (int columna = lugarCantColumnas - 1; columna >= 0; 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();
        }
Beispiel #2
0
        //METODO QUE UTILIZA EL METODO DE GETSECTORES DE LA PLAZA QUE RECIBE UN CONSTRUCTOR CONCRETO
        public void ApagarIncendio(ILugar pLugar, Calle pCalle)
        {
            int intAguaDisponible = pCalle.GetCaudalAguaPorMinuto();

            ISector[,] matrizLugar = pLugar.getSectores();

            for (int fila = 0; fila < matrizLugar.GetLength(0); fila++)
            {
                for (int columnas = 0; columnas < matrizLugar.GetLength(1); columnas++)
                {
                    //CUANDO EL NUMERO DE FILA SEA IMPAR (SE TENDRA QUE RECORRER AL REVES PARA DAR EL EFECTO ESCALERA)
                    if (fila % 2 != 0)
                    {
                        for (int columna = matrizLugar.GetLength(1) - 1; columna >= 0; columna--)
                        {
                            DeterminarApagado(matrizLugar, fila, columna, intAguaDisponible);
                        }
                        break;
                    }

                    DeterminarApagado(matrizLugar, fila, columnas, intAguaDisponible);
                }
            }
            Console.WriteLine("EL FUEGO DE LUGAR FUE EXTINGUIDO EN SU TOTALIDAD");
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        public void ApagarIncendio(ILugar pLugar, Calle pCalle)
        {
            int intAguaDisponible = pCalle.GetCaudalAguaPorMinuto();

            ISector [,] matrizLugar = pLugar.getSectores();

            for (int filas = 0; filas < matrizLugar.GetLength(0); filas++)
            {
                for (int columnas = 0; columnas < matrizLugar.GetLength(1); columnas++)
                {
                    //SE LE PASA DIRECTAMENTE LA MATRIZ, EL NUMERO DE FILA Y COLUMNA DE CADA SECTOR  PARA QUE SE EVALUE LA SITUACION DEL SECTOR
                    DeterminarApagado(matrizLugar, filas, columnas, intAguaDisponible);
                }
            }
            Console.WriteLine("EL FUEGO DE LUGAR FUE EXTINGUIDO EN SU TOTALIDAD");
        }
Beispiel #5
0
        public void apagarIncendio(ILugar lugar, int caudal)
        {
            Console.WriteLine("Apagando el incendio con la estrategia escalera en " + lugar.ToString());

            ISector [][] sectores = lugar.getSectores();

            int fin       = sectores.Length - 1;
            int cont      = 0;
            int indicador = 0;

            while (cont <= fin)
            {
                switch (indicador)
                {
                case 0:
                    for (int i = 0; i <= fin; i++)
                    {
                        Console.Write("({0},{1})", cont, i);
                        Console.Write(sectores[cont][i]);

                        sectores[cont][i].mojar(caudal);
                    }

                    indicador = 1;
                    break;

                case 1:
                    for (int j = fin; j >= 0; j--)
                    {
                        Console.Write("({0},{1})", cont, j);
                        Console.Write(sectores[cont][j]);

                        sectores[cont][j].mojar(caudal);
                    }
                    indicador = 0;
                    break;
                }

                Console.WriteLine();

                cont++;
            }

            Console.WriteLine("!!!!!El fuego de " + lugar.ToString() + " fue extinguido en su totalidad¡¡¡¡¡¡");
        }
        public void apagarIncendio(ILugar lugar, int caudal)
        {
            Console.WriteLine("Apagando el incendio con la estrategia espiral");
            ISector [][] sectores = lugar.getSectores();

            int fin         = sectores.GetLength(0) - 1;
            int iteraciones = sectores.GetLength(0) * 4;
            int inicio      = 0;

            for (int j = 0; j < sectores.Length; j++)
            {
                for (int i = inicio; i <= fin; i++)
                {
                    Console.Write("({0},{1})", inicio, i);
                    Console.Write(sectores[inicio][i]);

                    sectores[inicio][i].mojar(caudal);
                }
                for (int i = inicio + 1; i <= fin; i++)
                {
                    Console.Write("({0},{1})", i, fin);
                    Console.Write(sectores[i][fin]);
                    sectores[i][fin].mojar(caudal);
                }
                for (int i = fin - 1; i >= inicio; i--)
                {
                    Console.Write("({0},{1})", fin, i);
                    Console.Write(sectores[fin][i]);
                    sectores[fin][i].mojar(caudal);
                }

                for (int i = fin - 1; i > inicio; i--)
                {
                    Console.Write("({0},{1})", i, inicio);
                    Console.Write(sectores[i][inicio]);
                    sectores[i][inicio].mojar(caudal);
                }

                inicio++;
                fin--;
            }

            Console.WriteLine("El fuego de" + lugar.ToString() + " fue extinguido en su totalidad");
        }
        //debería poder verse:
        //(1, 1)-> 45-> 0

        public void ApagarIncendio(ILugar pLugar, Calle pCalle)
        {
            int intAguaDisponible = pCalle.GetCaudalAguaPorMinuto();

            int[,] matrizLugar = pLugar.getSectores();

            for (int filas = 0; filas < matrizLugar.GetLength(0); filas++)
            {
                for (int columnas = 0; columnas < matrizLugar.GetLength(1); columnas++)
                {
                    int    intSector          = matrizLugar[filas, columnas];
                    int    intResultadoSector = intSector - intAguaDisponible;
                    string strResultado       = "(" + filas + " , " + columnas + ") --> " + intSector;

                    if (intResultadoSector < 0)
                    {
                        strResultado += " --> 0";
                        Console.WriteLine(strResultado);
                    }
                    //SI EL RESULTADO DEL SECTOR ES MAYOR SIGNIFICA QUE NO SE APAGO
                    else
                    {
                        strResultado += " --> " + intResultadoSector;
                        Boolean boolEntrar = true;
                        while (boolEntrar)
                        {
                            int intTerminarApagar = intResultadoSector - intAguaDisponible;
                            if (intTerminarApagar < 0)
                            {
                                strResultado += "--> 0";
                                Console.WriteLine(strResultado);
                                boolEntrar = false;
                            }
                            else
                            {
                                strResultado += " --> " + intTerminarApagar;
                            }
                        }
                    }
                }
            }
            Console.WriteLine("EL FUEGO DE LUGAR FUE EXTINGUIDO EN SU TOTALIDAD");
        }
Beispiel #8
0
        public void apagarIncendio(ILugar lugar, int caudal)
        {
            Console.WriteLine("Apagando el incendio con la estrategia secuencial en " + lugar.ToString());

            ISector [][] sectores = lugar.getSectores();

            int tamaño = sectores.GetLength(0);


            for (int i = 0; i < tamaño; i++)
            {
                for (int j = 0; j < tamaño; j++)
                {
                    Console.Write("({0},{1})", i, j);
                    Console.Write(" -- ({0})", sectores[i][j].ToString());
                    sectores[i][j].mojar(caudal);
                }
            }
            Console.WriteLine("!!!!!El fuego de " + lugar.ToString() + " fue extinguido en su totalidad¡¡¡¡¡¡");
        }
        public void ApagarIncendio(ILugar pLugar, Calle pCalle)
        {
            int intAguaDisponible = pCalle.GetCaudalAguaPorMinuto();

            int[,] matrizLugar = pLugar.getSectores();

            int intInicio            = 0;
            int intLimiteColumna     = matrizLugar.GetLength(1) - 1;
            int intLimiteFila        = matrizLugar.GetLength(0) - 1;
            int intCantidadElementos = matrizLugar.GetLength(1) * matrizLugar.GetLength(0);
            int intContador          = 0;

            while (intContador < intCantidadElementos)
            {
                for (int columnas = intInicio; columnas <= intLimiteColumna; columnas++)
                {
                    DeterminarApagado(matrizLugar, intInicio, columnas, intAguaDisponible);
                    intContador++;
                }
                for (int filas = intInicio + 1; filas <= intLimiteFila; filas++)
                {
                    DeterminarApagado(matrizLugar, filas, intLimiteFila, intAguaDisponible);
                    intContador++;
                }
                for (int columnasReversa = intLimiteColumna - 1; columnasReversa >= intInicio; columnasReversa--)
                {
                    DeterminarApagado(matrizLugar, intLimiteColumna, columnasReversa, intAguaDisponible);
                    intContador++;
                }
                for (int i = intLimiteFila - 1; i > intInicio; i--)
                {
                    DeterminarApagado(matrizLugar, i, intInicio, intAguaDisponible);
                    intContador++;
                }

                intInicio        = intInicio + 1;
                intLimiteColumna = intLimiteColumna - 1;
                intLimiteFila    = intLimiteFila - 1;
            }
            Console.WriteLine("EL FUEGO DE LUGAR FUE EXTINGUIDO EN SU TOTALIDAD");
        }
Beispiel #10
0
        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();
        }
        public void ApagarIncendio(ILugar pLugar, Calle pCalle)
        {
            int intAguaDisponible = pCalle.GetCaudalAguaPorMinuto();

            int[,] matrizLugar = pLugar.getSectores();
            for (int filas = 0; filas < matrizLugar.GetLength(0); filas++)
            {
                for (int columnas = 0; columnas < matrizLugar.GetLength(1); columnas++)
                {
                    if (filas % 2 != 0)
                    {
                        for (int columna = matrizLugar.GetLength(1) - 1; columna >= 0; columna--)
                        {
                            DeterminarApagado(matrizLugar, filas, columna, intAguaDisponible);
                        }
                        break;
                    }

                    DeterminarApagado(matrizLugar, filas, columnas, intAguaDisponible);
                }
            }
            Console.WriteLine("EL FUEGO DE LUGAR FUE EXTINGUIDO EN SU TOTALIDAD");
        }
        public void apagarIncendio(ILugar lugar, Calle calle)
        {
            ISector [][] sectores = lugar.getSectores();
            int          longitud = sectores.GetLength(0);
            int          caudal   = calle.getCaudal();

            Console.WriteLine("Un bombero esta apagando el incendio con el metodo Secuencial en la " + lugar.ToString() + "\n");
            Console.WriteLine("Matriz de sectores de la " + lugar.ToString() + " (" + longitud + "x" + longitud + "):");

            for (int i = 0; i < longitud; i++)
            {
                for (int j = 0; j < longitud; j++)
                {
                    var fuegoRestante = new List <double>();                    //Lista que va a ir añadiendo valores del caudal a medida que se va apagando el fuego.

                    fuegoRestante.Add(sectores[i][j].getAfeccion());

                    while (!sectores[i][j].estaApagado())
                    {
                        sectores[i][j].mojar(caudal);

                        if (sectores[i][j].estaApagado())
                        {
                            fuegoRestante.Add(0);             //Se añade 0 en caso de que el caudal sea menor o igual a 0.
                        }
                        else
                        {
                            fuegoRestante.Add(sectores[i][j].getAfeccion());
                        }
                    }

                    Console.WriteLine("(" + i + "," + j + ") - " + "(" + sectores[i][j].ToString() + ") -> " + string.Join(" -> ", fuegoRestante));
                }
            }
            Console.WriteLine("\nEl fuego de " + lugar.ToString() + " fue extinguido en su totalidad!!");
        }
 public ISector[,] ObtenerMatrizLugar()
 {
     return(lugar.getSectores());
 }