Пример #1
0
        static void Main(string[] args)
        {
            int     i  = 0;
            Sensor  r  = new Recepcion();
            Sensor  a  = new Almacenamiento();
            Sensor  e  = new Ensamblaje();
            Sensor  v  = new verificacion();
            Sensor  m  = new empaque();
            Central c  = new Central(r, a, e, v, m);
            bool    de = true;
            bool    j  = true;

            c.Empezar();

            while (de == true)
            {
                c.Revisar();
                System.Threading.Thread.Sleep(1000);
                i += 1;
                if (i == 45)
                {
                    Console.WriteLine("Dia finalizado");
                    c.Terminar();
                    break;
                }
            }

            Console.Read();
        }
        public static void Main(string[] args)
        {
            IProcesos recepcion      = new Recepcion("Recepcion", 2);
            IProcesos almacenamiento = new Almacenamiento("Almacenamiento", 5);
            IProcesos ensamblaje     = new Ensamblaje("Ensamblaje", 7);
            IProcesos verificacion   = new Verificacion("Verificacion", 8);
            IProcesos empaque        = new Empaque("Empaque", 10);
            IProcesos encargado      = new Encargado("Manuel");

            Centralmachine central = new Centralmachine();

            central.Agregarproceso(recepcion);
            central.Agregarproceso(almacenamiento);
            central.Agregarproceso(ensamblaje);
            central.Agregarproceso(verificacion);
            central.Agregarproceso(empaque);
            central.Agregarproceso(encargado);

            central.Iniciarsimulacion();
        }
        public static void Main(string[] args)
        {
            Maquina MaquinaAlmacenamiento = new Almacenamiento(5, "Almacenamiento");
            Maquina MaquinaEnsamblaje     = new Ensamblaje(8, "Ensamblaje");
            Maquina MaquinaVerificacion   = new Verificacion(3, "Verificación");
            Maquina MaquinaEmpaque        = new Empaque(10, "Empaque");
            Maquina MaquinaRecepcion      = new Recepcion(7, "Recepción");

            Console.WriteLine("ABRIENDO FABRICA...\n");
            MaquinaRecepcion.Encendido();
            MaquinaAlmacenamiento.Encendido();
            MaquinaEnsamblaje.Encendido();
            MaquinaVerificacion.Encendido();
            MaquinaEmpaque.Encendido();

            int hora    = 7;
            int minutos = 0;

            Console.WriteLine("ELIGA TIPO DE CONTROL");
            Console.WriteLine("[1]CONTROL MANUAL");
            Console.WriteLine("[2]CONTROL AUTOMATICO");
            int control = Convert.ToInt32(Console.ReadLine());

            if (control == 1)
            {
                while (hora < 22)
                {
                    Console.ForegroundColor = ConsoleColor.Blue;
                    if (minutos == 60 || minutos == 0)
                    {
                        hora++; minutos = 0;
                        Console.WriteLine("Hora: " + hora + ":" + minutos + "0");
                    }
                    else
                    {
                        Console.WriteLine("Hora: " + hora + ":" + minutos);
                    }
                    Console.ForegroundColor = ConsoleColor.White;

                    minutos += 15;

                    MaquinaAlmacenamiento.ActualizarMemoria();

                    if (MaquinaAlmacenamiento.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.ReinicioManual(MaquinaAlmacenamiento, MaquinaRecepcion, MaquinaEnsamblaje, MaquinaVerificacion, MaquinaEmpaque, MaquinaAlmacenamiento);
                    }

                    MaquinaEnsamblaje.ActualizarMemoria();

                    if (MaquinaEnsamblaje.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.ReinicioManual(MaquinaAlmacenamiento, MaquinaRecepcion, MaquinaEnsamblaje, MaquinaVerificacion, MaquinaEmpaque, MaquinaEnsamblaje);
                    }

                    MaquinaVerificacion.ActualizarMemoria();

                    if (MaquinaVerificacion.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.ReinicioManual(MaquinaAlmacenamiento, MaquinaRecepcion, MaquinaEnsamblaje, MaquinaVerificacion, MaquinaEmpaque, MaquinaVerificacion);
                    }

                    MaquinaEmpaque.ActualizarMemoria();

                    if (MaquinaEmpaque.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.ReinicioManual(MaquinaAlmacenamiento, MaquinaRecepcion, MaquinaEnsamblaje, MaquinaVerificacion, MaquinaEmpaque, MaquinaEmpaque);
                    }

                    MaquinaRecepcion.ActualizarMemoria();

                    if (MaquinaRecepcion.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.ReinicioManual(MaquinaAlmacenamiento, MaquinaRecepcion, MaquinaEnsamblaje, MaquinaVerificacion, MaquinaEmpaque, MaquinaRecepcion);
                    }
                }

                Console.WriteLine("CERRANDO FABRICA...\n");

                MaquinaRecepcion.Apagado();
                MaquinaAlmacenamiento.Apagado();
                MaquinaEnsamblaje.Apagado();
                MaquinaVerificacion.Apagado();
                MaquinaEmpaque.Apagado();
            }
            else if (control == 2)
            {
                while (hora < 22)
                {
                    Console.ForegroundColor = ConsoleColor.Blue;
                    if (minutos == 60 || minutos == 0)
                    {
                        hora++; minutos = 0;
                        Console.WriteLine("Hora: " + hora + ":" + minutos + "0");
                    }
                    else
                    {
                        Console.WriteLine("Hora: " + hora + ":" + minutos);
                    }
                    Console.ForegroundColor = ConsoleColor.White;

                    minutos += 15;

                    MaquinaAlmacenamiento.ActualizarMemoria();

                    if (MaquinaAlmacenamiento.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.Reinicio(MaquinaAlmacenamiento);
                    }

                    MaquinaEnsamblaje.ActualizarMemoria();

                    if (MaquinaEnsamblaje.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.Reinicio(MaquinaEnsamblaje);
                    }

                    MaquinaVerificacion.ActualizarMemoria();

                    if (MaquinaVerificacion.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.Reinicio(MaquinaVerificacion);
                    }

                    MaquinaEmpaque.ActualizarMemoria();

                    if (MaquinaEmpaque.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.Reinicio(MaquinaEmpaque);
                    }

                    MaquinaRecepcion.ActualizarMemoria();

                    if (MaquinaRecepcion.MemoriaMaximaAlcanzada())
                    {
                        ComputradorCentral.Reinicio(MaquinaRecepcion);
                    }
                }

                Console.WriteLine("CERRANDO FABRICA...\n");

                MaquinaRecepcion.Apagado();
                MaquinaAlmacenamiento.Apagado();
                MaquinaEnsamblaje.Apagado();
                MaquinaVerificacion.Apagado();
                MaquinaEmpaque.Apagado();
            }
            else
            {
                Console.WriteLine("Opción no valida");
            }
        }