Example #1
0
 private void ProcessaVeiculoSimulacao()
 {
     if (ImprimirLogTela)
     {
         Console.WriteLine("Iniciando rotina de Geração de veículos");
     }
     foreach (var rua in RuasSimulacao)
     {
         Aresta  ArestaCorrespondente = grafo.GetAresta(rua.IdAresta);
         Vertice VerticeOrigem        = grafo.GetVertice(ArestaCorrespondente.Origem);
         if (VeiculosEsperaVertice[ArestaCorrespondente.Origem].Count > 0)
         {
             if (rua.AdicionaVeiculo(VeiculosEsperaVertice[ArestaCorrespondente.Origem].Peek(), SegundoSimulacao))
             {
                 if (ImprimirLogTela)
                 {
                     Console.WriteLine($"O veículo {VeiculosEsperaVertice[ArestaCorrespondente.Origem].Peek().Id} entrou na rua {rua.Id}");
                 }
                 VeiculosEsperaVertice[ArestaCorrespondente.Origem].Dequeue();
             }
         }
         #region TrativaLogs
         LogOcupacaoVias.Add(new LogOcupacaoVias()
         {
             IdAresta      = rua.IdAresta,
             EspacoOcupado = (int)rua.MediaOcupacaoVias(),
             InstanteTempo = SegundoSimulacao
         });
         #endregion TrativaLogs
     }
 }
Example #2
0
 private void ProcessaVeiculoSimulacao()
 {
     if (ImprimirLogTela)
     {
         Console.WriteLine("Iniciando rotina de Processamento de veículos");
     }
     foreach (var rua in RuasSimulacao)
     {
         Aresta  ArestaCorrespondente = grafo.GetAresta(rua.IdAresta);
         Vertice VerticeOrigem        = grafo.GetVertice(ArestaCorrespondente.Origem);
         if (VeiculosEsperaVertice[ArestaCorrespondente.Origem].Count > 0)
         {
             // verifica se a rua suporta adicionar mais um veículo
             if (rua.AdicionaVeiculo(VeiculosEsperaVertice[ArestaCorrespondente.Origem].Peek(), SegundoSimulacao))
             {
                 if (ImprimirLogTela)
                 {
                     Console.WriteLine($"O veículo {VeiculosEsperaVertice[ArestaCorrespondente.Origem].Peek().Id} entrou na rua {rua.Id}");
                 }
                 VeiculosEsperaVertice[ArestaCorrespondente.Origem].Dequeue();
             }
         }
         #region TrativaLogs
         LogOcupacaoVias.Add(new LogOcupacaoVias
         {
             IdAresta             = rua.IdAresta,
             EspacoOcupado        = (int)rua.MediaOcupacaoVias(),
             InstanteTempo        = SegundoSimulacao,
             QuantidadadeVeiculos = rua.NumeroVeiculosNaVia
         });
         #endregion TrativaLogs
         // trata veiculos já na via
     }
     ProcessaVeiculosVias();
     TrocaVeiculosRua();
 }