コード例 #1
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");
        }
コード例 #2
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");
        }
        //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");
        }
        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");
        }
        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");
        }