Esempio n. 1
0
        public static void Main(string[] args)
        {
            PrepararMapa();
            PrepararCarros();

            while (entradasDeCarros.Count(ci => ci.Carro.Status != StatusCarroEnum.CaminhoConcluido) > 0)
            {
                IniciarCarros();
                MovimentarCarros();

                ExibirLog();

                AtuarControladores();
                TempoDoSistema.Incrementar();
            }

            GerarResultados();
        }
Esempio n. 2
0
        static void MainOld(string[] args)
        {
            Rua r1 = new Rua("Rua 1", 10000);
            Rua r2 = new Rua("Rua 2", 10000);
            Rua r3 = new Rua("Rua 3", 10000);
            Rua r4 = new Rua("Rua 4", 10000);

            Caminho caminho1 = new Caminho();

            caminho1.Add(r1);
            caminho1.Add(r2);

            Caminho caminho2 = new Caminho();

            caminho2.Add(r1);
            caminho2.Add(r4);

            Cruzamento  cz1 = new Cruzamento(r1, r2, r3, r4);
            Controlador ct1 = new Controlador(cz1);

            Carro c1 = new Carro("Carro 1", caminho1, 0.05f, 80);

            /*c1.TrocaDeRua += new Carro.CarroTrocaHandler(c1_TrocaDeRua);
             * c1.AguardandoSemaforo += new Carro.CarroAguardandoHandler(c1_AguardandoSemaforo);
             * c1.ImpedimentoDeProgresso += new Carro.CarroImpedidoHandler(c1_ImpedimentoDeProgresso);*/
            c1.TerminoCaminho += new Carro.CarroTerminoHandler(c1_TerminoCaminho);
            c1.InicioCaminho  += new Carro.CarroInicioHandler(c1_InicioCaminho);

            Carro c2 = new Carro("Carro 2", caminho2, 0.055f, 120);

            /*c2.TrocaDeRua += new Carro.CarroTrocaHandler(c1_TrocaDeRua);
             * c2.AguardandoSemaforo += new Carro.CarroAguardandoHandler(c1_AguardandoSemaforo);
             * c2.ImpedimentoDeProgresso += new Carro.CarroImpedidoHandler(c1_ImpedimentoDeProgresso);*/
            c2.TerminoCaminho += new Carro.CarroTerminoHandler(c1_TerminoCaminho);
            c2.InicioCaminho  += new Carro.CarroInicioHandler(c1_InicioCaminho);

            c1.Iniciar();
            carros = 1;

            while (carros > 0)
            {
                ct1.Atuar();

                if (TempoDoSistema.Valor == 20)
                {
                    c2.Iniciar();
                }

                c1.Mover();
                c2.Mover();

                Console.Clear();
                ExibeCarros(c1, c2);
                ExibeSemaforos(cz1);
                //ExibeSensores(cz1);

                TempoDoSistema.Incrementar();
                Thread.Sleep(100);
            }

            //DesenhaMapa();

            Console.ReadLine();
        }