/** * pedimos una sala, una sesion y una butaca validas al usuario * se guardan en los atributos sala, sesion y (fila, columna) */ public void pedirDatosCompra() { this.pedirSalaSesion(); if (cine.getButacasDisponiblesSesion(sala, sesion) == 0) { sesionLlena = true; } else { sesionLlena = false; char[,] estadoSesion = cine.getEstadoSesion(sala, sesion); this.mostrarEstadoSesion(estadoSesion); LecturaTeclado teclado = new LecturaTeclado(); bool sigue; do { sigue = false; fila = teclado.leerNatural("Elige una fila:"); columna = teclado.leerNatural("Elige una columna:"); // comprobamos si la fila y la columna existen en la sala if (fila < 0 || fila > estadoSesion.GetLength(0) || columna < 0 || columna > estadoSesion.GetLength(1) - calcularNumeroPasillosHastaColumna(fila, columna, estadoSesion)) { Console.WriteLine("La butaca seleccionada " + "no existe, elige otra"); sigue = true; } else // comprobamos si la butaca esta ya vendida if (estadoSesion[fila - 1, columna - 1] == 'X') { Console.WriteLine("La butaca seleccionada " + "está ocupada, elige otra"); sigue = true; } } while (sigue); } }
static void Main1(string[] args) { //creamos un cine con 2 salas(con 2 sesiones) para probar las operaciones string[] horasSesiones = { "18:00", "22:00" }; Sala[] salas = { new Sala("Tiburon", horasSesiones, 9, 5, new int[] { 3 }), new Sala("Tron", horasSesiones, 2, 2) }; Cine cine = new Cine("CinemaVintage", salas); //necesitamos la ventanilla para mostrar el estado de la sesion VentanillaVirtualUsuario ventanilla = new VentanillaVirtualUsuario(cine, true); foreach (String pelicula in cine.getPeliculas()) { Console.WriteLine(pelicula); } cine.comprarEntrada(1, 1, 2, 1); cine.comprarEntrada(1, 1, 9, 3); int idVenta = cine.getIdEntrada(1, 1, 9, 3); Console.WriteLine("Id de venta es:" + idVenta); ButacasContiguas butacas = cine.recomendarButacasContiguas(4, 1, 1); cine.comprarEntradasRecomendadas(1, 1, butacas); int idVenta1 = cine.getIdEntrada(1, 1, butacas.getFila(), butacas.getColumna()); cine.recogerEntradas(idVenta1, 1, 1); ventanilla.mostrarEstadoSesion(cine.getEstadoSesion(1, 1)); Console.WriteLine("No. de butacas disponibles: " + cine.getButacasDisponiblesSesion(1, 1)); Console.WriteLine("Tickets :" + cine.recogerEntradas(idVenta, 1, 1)); Console.WriteLine("Tickets recomendados:" + cine.recogerEntradas(idVenta1, 1, 1)); }