Пример #1
0
        static void Main(string[] args)
        {
            Persona director1 = new Persona("Sean", "Cunningan");

            Dictionary <Persona, string> reparto1 = new Dictionary <Persona, string>();

            reparto1.Add(new Persona("Ari", "Lehman"), "Jason");
            reparto1.Add(new Persona("Adriane", "King"), "Alice");
            reparto1.Add(new Persona("Harry", "Crosby"), "Bill");

            string sinopsis1 = "Un grupo de adolescentes que son asesinados uno por uno por un asesino desconocido al intentar reabrir un campamento abandonado.";

            Pelicula pelicula1 = new Pelicula("Viernes 13", "Friday the 13th", director1, reparto1, new TimeSpan(1, 28, 0), sinopsis1);

            ///////////////////////////////////////////////////////////////////////////

            Persona director2 = new Persona("Stanley", "Cubrik");

            Dictionary <Persona, string> reparto2 = new Dictionary <Persona, string>();

            reparto2.Add(new Persona("Jack", "Nicholson"), "Jack Torrance");
            reparto2.Add(new Persona("Shelley", "Duvall"), "Wendy Torrance");
            reparto2.Add(new Persona("Danny", "LLoyd"), "Dany Torrance");

            string sinopsis2 = "Jack Torrance acepta una oferta de trabajo en un hotel de montaña que se encuentra a 65 kilómetros del pueblo más cercano. ... Danny, el hijo de Jack tiene la capacidad de ver visiones sobre el pasado del hotel y de resistirse a su poder hipnótico";

            Pelicula pelicula2 = new Pelicula("El Resplandor", "The Shinning", director2, reparto2, new TimeSpan(2, 26, 00), sinopsis2);

            ///////////////////////////////////////////////////////////////////////////

            Persona director3 = new Persona("John", "Carpenter");

            Dictionary <Persona, string> reparto3 = new Dictionary <Persona, string>();

            reparto3.Add(new Persona("Kurt", "Russell"), "R.J McReady");
            reparto3.Add(new Persona("Wildford", "Brimley"), "Dr.Blair");
            reparto3.Add(new Persona("Keith", "David"), "Childs");

            string sinopsis3 = "Un grupo de investigadores estadounidenses en Antártida que se encuentran con la «Cosa», una forma de vida extraterrestre parasitaria que se asimila y luego imita a otros organismos.";


            Pelicula pelicula3 = new Pelicula("La Cosa", "The Thing", director3, reparto3, new TimeSpan(1, 45, 0), sinopsis3);

            ///////////////////////////////////////////////////////////////////////////

            Persona director4 = new Persona("Ridley", "Scott");

            Dictionary <Persona, string> reparto4 = new Dictionary <Persona, string>();

            reparto4.Add(new Persona("Sigourney", "Weaver"), "Ellen Ripley");
            reparto4.Add(new Persona("Veronica", "Cartwright"), "Lambert");
            reparto4.Add(new Persona("Yaphet", "Kotto"), "Parker");

            string sinopsis4 = "La tripulación de la nave espacial Nostromo atiende una señal de auxilio y, sin saberlo, sube a bordo una letal forma de vida extraterrestre.";

            Pelicula pelicula4 = new Pelicula("Alien, el octavo pasajero", "Alien", director4, reparto4, new TimeSpan(1, 56, 0), sinopsis4);;

            ///////////////////////////////////////////////////////////////////////////


            Asiento[,] asientossala1 = new Asiento[8, 8];

            Sala sala1 = new Sala(1, asientossala1);

            Cine cine = new Cine("Cinemaster", 100, 200);

            cine.Peliculas.Add(pelicula1);
            cine.Peliculas.Add(pelicula2);
            cine.Peliculas.Add(pelicula3);
            cine.Peliculas.Add(pelicula4);

            cine.Salas.Add(sala1);

            Funcion funcion1 = new Funcion(pelicula1, sala1, new DateTime(2020, 11, 28, 18, 15, 0));
            Funcion funcion2 = new Funcion(pelicula1, sala1, new DateTime(2020, 11, 29, 20, 0, 0));
            Funcion funcion3 = new Funcion(pelicula2, sala1, new DateTime(2020, 11, 29, 20, 0, 0));
            Funcion funcion4 = new Funcion(pelicula2, sala1, new DateTime(2020, 11, 30, 19, 30, 0));
            Funcion funcion5 = new Funcion(pelicula3, sala1, new DateTime(2020, 11, 30, 22, 0, 0));
            Funcion funcion6 = new Funcion(pelicula3, sala1, new DateTime(2020, 12, 1, 20, 0, 0));
            Funcion funcion7 = new Funcion(pelicula4, sala1, new DateTime(2020, 12, 2, 18, 0, 0));
            Funcion funcion8 = new Funcion(pelicula4, sala1, new DateTime(2020, 12, 2, 20, 0, 0));


            cine.Funciones.Add(funcion1);
            cine.Funciones.Add(funcion2);
            cine.Funciones.Add(funcion3);
            cine.Funciones.Add(funcion4);
            cine.Funciones.Add(funcion5);
            cine.Funciones.Add(funcion6);
            cine.Funciones.Add(funcion7);
            cine.Funciones.Add(funcion8);

            PantallaPrincipal(cine);



            Console.ReadLine();
        }
Пример #2
0
        static void PantallaSeleccionAsiento(Cine cine, Funcion funcion)
        {
            int ingresofila; int ingresocolumna; bool ocupar = false;

            string fecha = funcion.FechaHora.ToShortDateString();
            string hora  = funcion.FechaHora.ToShortTimeString();

            Console.Clear();


            //////////////////////////////////////////////////////////////////////////////////////////////////

            Console.WriteLine($"Pelicula: {funcion.Pelicula.Titulo}\n");

            Console.WriteLine($"Funcion: {fecha} {hora}\n");

            string str = "PANTALLA";

            char c = '=';

            int largo = (3 * funcion.Sala.Asientos.GetLength(1));

            Console.WriteLine($" {CentrarString(str, largo, c)}");

            for (int col = 0; col < funcion.Sala.Asientos.GetLength(1); col++)
            {
                Console.Write($"  {col}");
            }

            Console.WriteLine();

            for (int filas = 0; filas < funcion.Sala.Asientos.GetLength(0); filas++)
            {
                Console.Write($"{filas}");

                for (int columnas = 0; columnas < funcion.Sala.Asientos.GetLength(1); columnas++)
                {
                    if (funcion.EstadoAsientos[funcion.Sala.Asientos[filas, columnas]] == EstadoAsiento.Ocupado)
                    {
                        Console.Write("[");
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.Write("O");
                        Console.ResetColor();
                        Console.Write("]");
                    }
                    else if (funcion.Sala.Asientos[filas, columnas].EsVip)
                    {
                        Console.Write("[V]");
                    }

                    else
                    {
                        Console.Write("[ ]");
                    }
                }

                Console.WriteLine();
            }


            Console.WriteLine();

            if (funcion.FechaHora.DayOfWeek == DayOfWeek.Wednesday)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Precio dia miercoles!\n");
                Console.ResetColor();

                Console.WriteLine($"Referencias:\n[ ] = Libre ${cine.PrecioEntrada / 2} Promo\n[V] = Vip ${cine.PrecioEntradaVIP/2} Promo\n[O] = Ocupado\nIngrese -1 para cancelar.\n");
            }
            else
            {
                Console.WriteLine($"Referencias:\n[ ] = Libre ${cine.PrecioEntrada}\n[V] = Vip ${cine.PrecioEntradaVIP}\n[O] = Ocupado\nIngrese -1 para cancelar.\n");
            }


            //////////////////////////////////////////////////////////////////////////////////////////////////


            while (!ocupar)
            {
                ingresofila = PedirValorIntClampeado("Ingrese fila:\n", -1, funcion.Sala.Asientos.GetLength(0) - 1);

                if (ingresofila == -1)
                {
                    return;
                }

                ingresocolumna = PedirValorIntClampeado("Ingrese columna:\n", -1, funcion.Sala.Asientos.GetLength(1) - 1);


                if (ingresocolumna == -1)
                {
                    return;
                }


                ocupar = funcion.IntentarOcuparAsiento(funcion.Sala.Asientos[ingresofila, ingresocolumna]);

                if (!ocupar)
                {
                    Console.WriteLine("Asiento ocupado. Seleccione otro asiento.");
                }


                if (ocupar)
                {
                    cine.Entradas.Add(new Entrada(funcion, funcion.Sala.Asientos[ingresofila, ingresocolumna]));
                }
            }


            Console.Clear();


            //////////////////////////////////////////////////////////////////////////////////////////////////


            Console.WriteLine("Confirmar asiento:\n");

            Console.WriteLine($"Pelicula: {funcion.Pelicula.Titulo}\nDia: {fecha} Hora: {hora}\nSala: {funcion.Sala.Numero}\n\nPresione enter para continuar.\n");

            Console.ReadLine();
        }