Beispiel #1
0
        private ButacasContiguas buscarButacasContiguasEnFila(int fila, int noButacas)
        {
            ButacasContiguas butacasContiguasEnFila = null;
            int butacasContiguas = 0;
            int numeroPasillos   = 0;
            int primeraButaca    = 0;
            int i = 0;

            for (  ; i < estadoAsientos.GetLength(1) && butacasContiguas < noButacas; i++) //Se ejecuta el bucle hasta que encuentro las butacas contiguas que le pases por parámetro o hasta que recorra toda la fila
            {
                if (estadoAsientos[fila - 1, i] == 0)
                {
                    butacasContiguas++;
                }
                else if (estadoAsientos[fila - 1, i] == -1)
                {
                    numeroPasillos++;
                }
                else
                {
                    butacasContiguas = 0;
                }
            }

            if (butacasContiguas == noButacas) // Si hay disponibles la butacas contiguas que pasaste por parametro a nobutacas "butacasContiguasEnFila" no es igual a null
            {
                primeraButaca          = i + 1 - noButacas - numeroPasillos;
                butacasContiguasEnFila = new ButacasContiguas(fila, primeraButaca, noButacas);
            }

            return(butacasContiguasEnFila);
        }
Beispiel #2
0
        public void comprarEntradasRecomendadas(ButacasContiguas butacas)
        {
            for (int i = butacas.getColumna() - 1; i < butacas.getNoButacas() + butacas.getColumna() - 1; i++)
            {
                estadoAsientos[butacas.getFila() - 1, i + CalcularNumeroPasillosHastaLaColumna(butacas.getFila(), i + 1)] = sigIdCompra; //Compra las entrada en el hueco de la matriz correspondiente y lo rellena con el "sigIdCompra"
                asientosDisponibles--;
            }

            sigIdCompra++;
        }
Beispiel #3
0
        public ButacasContiguas recomendarButacasContiguas(int noButacas)
        {
            ButacasContiguas butacasContiguasRecomendadas = null;
            int i = (estadoAsientos.GetLength(0) + 1) / 2 + 1;

            for (; i < estadoAsientos.GetLength(0) + 1 && butacasContiguasRecomendadas == null; i++) // Te comprueba desde la fila mitad +1 hasta la última fila de la sesión si hay el numero de butacas contiguas que le has pasado por parámetro
            {
                butacasContiguasRecomendadas = buscarButacasContiguasEnFila(i, noButacas);
            }

            if (butacasContiguasRecomendadas == null)                                                               // Si encuentra en el for de arriba el número de butacas contiguas no hace el de abajo
            {
                for (i = (estadoAsientos.GetLength(0) + 1) / 2; i > 0 && butacasContiguasRecomendadas == null; i--) // Te comprueba desde la fila mitad hasta la primera fila de la sesión si hay el numero de butacas contiguas que le has pasado por parámetro
                {
                    butacasContiguasRecomendadas = buscarButacasContiguasEnFila(i, noButacas);
                }
            }

            return(butacasContiguasRecomendadas);
        }
Beispiel #4
0
 public void comprarEntradasRecomendadas(int sala, int sesion, ButacasContiguas butacas)
 {
     salas[sala - 1].comprarEntradasRecomendadas(sesion, butacas);
 }
Beispiel #5
0
 public void comprarEntradasRecomendadas(int sesion, ButacasContiguas butacas)
 {
     sesiones[sesion - 1].comprarEntradasRecomendadas(butacas);
 }