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); }
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++; }
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); }
public void comprarEntradasRecomendadas(int sala, int sesion, ButacasContiguas butacas) { salas[sala - 1].comprarEntradasRecomendadas(sesion, butacas); }
public void comprarEntradasRecomendadas(int sesion, ButacasContiguas butacas) { sesiones[sesion - 1].comprarEntradasRecomendadas(butacas); }