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"); } }
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(); }
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); }
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(); }