Exemplo n.º 1
0
        public Veiculo GeraVeiculoAleatorio(int Id, Grafo grafo, int VerticeOrigem)
        {
            if (ComprimentosPossiveis.Count <= 0 || VelocidadesPossiveis.Count <= 0)
            {
                throw new Exception("Sem comprimentos ou velocidades possiveis para selecao");
            }
            int[]   caminho = Dijkstra.CalculaDjkstra(VerticeOrigem, grafo);
            Veiculo Retorno = new Veiculo()
            {
                Comprimento       = ComprimentosPossiveis[new Random().Next() % ComprimentosPossiveis.Count],
                Velocidade        = VelocidadesPossiveis[new Random().Next() % VelocidadesPossiveis.Count],
                Id                = Id,
                VerticeAtual      = VerticeOrigem,
                PosicaoAtualNaVia = 0,
                PercursoVeiculo   = GeraPercurso(caminho, EscolheDestino(grafo.NumeroVertices, VerticeOrigem))
            };

            return(Retorno);
        }