Ejemplo n.º 1
0
        static void ExibeSensores(Cruzamento cz)
        {
            Console.WriteLine("ESTADO DOS SENSORES");
            Console.WriteLine("Rua\t\tSensor\t\t\tValor");

            foreach (Rua r in cz.Ruas)
            {
                Console.WriteLine("{0}\t\t{1}\t\t{2}", r.Id, r.Sensores[0].Nome, r.Sensores[0].Resultado.ToString() + "m/s");
            }
        }
Ejemplo n.º 2
0
        static void Main(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);
            c1.Velocidade = 180;
            
            c1.TrocaDeRua += new Carro.CarroTrocaHandler(c1_TrocaDeRua);
            c1.TerminoCaminho += new Carro.CarroTerminoHandler(c1_TerminoCaminho);
            c1.AguardandoSemaforo += new Carro.CarroAguardandoHandler(c1_AguardandoSemaforo);
            c1.ImpedimentoDeProgresso += new Carro.CarroImpedidoHandler(c1_ImpedimentoDeProgresso);
            c1.InicioCaminho += new Carro.CarroInicioHandler(c1_InicioCaminho);

            Carro c2 = new Carro("Carro 2", caminho2);
            c2.Velocidade = 360;

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

            c1.Iniciar();

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

                if (tempo == 26)
                {
                    c2.Iniciar();
                }

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

                tempo++;
            }

            Console.ReadLine();
        }
Ejemplo n.º 3
0
        static void PrepararMapa()
        {
            Rua rua_a = new Rua("A", 2 * tamanho_bloco);
            Rua rua_b = new Rua("B", 3 * tamanho_bloco);
            Rua rua_c = new Rua("C", 4 * tamanho_bloco);
            Rua rua_d = new Rua("D", 4 * tamanho_bloco);
            Rua rua_e = new Rua("E", 3 * tamanho_bloco);
            Rua rua_f = new Rua("F", 3 * tamanho_bloco);
            Rua rua_g = new Rua("G", 4 * tamanho_bloco);
            Rua rua_h = new Rua("H", 2 * tamanho_bloco);
            Rua rua_i = new Rua("I", 5 * tamanho_bloco);
            Rua rua_j = new Rua("J", 1 * tamanho_bloco);
            Rua rua_k = new Rua("K", 5 * tamanho_bloco);
            Rua rua_l = new Rua("L", 5 * tamanho_bloco);

            Cruzamento cruzamento_1 = new Cruzamento(rua_a, rua_d, rua_b, rua_c, true);
            Cruzamento cruzamento_2 = new Cruzamento(rua_d, rua_f, rua_e, rua_g, true);
            Cruzamento cruzamento_3 = new Cruzamento(rua_c, rua_l, rua_h, null, false);
            Cruzamento cruzamento_4 = new Cruzamento(rua_h, rua_j, rua_i, null, false);
            Cruzamento cruzamento_5 = new Cruzamento(rua_g, rua_k, rua_j, null, true);

            Controlador controlador_1 = new Controlador(cruzamento_1);
            Controlador controlador_2 = new Controlador(cruzamento_2);
            Controlador controlador_5 = new Controlador(cruzamento_5);

            Caminho caminho_a = new Caminho("A", rua_b, rua_d, rua_e);
            Caminho caminho_b = new Caminho("B", rua_b, rua_c, rua_h, rua_i);
            Caminho caminho_c = new Caminho("C", rua_a, rua_c, rua_h, rua_i);
            Caminho caminho_d = new Caminho("D", rua_k, rua_g, rua_e);

            mapa = new Mapa(cruzamento_1, cruzamento_2, cruzamento_3, cruzamento_4, cruzamento_5);

            mapa.Controladores.Add(controlador_1);
            mapa.Controladores.Add(controlador_2);
            mapa.Controladores.Add(controlador_5);

            mapa.Caminhos.Add(caminho_a);
            mapa.Caminhos.Add(caminho_b);
            mapa.Caminhos.Add(caminho_c);
            mapa.Caminhos.Add(caminho_d);
        }
Ejemplo n.º 4
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();
        }