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