Esempio n. 1
0
        public static Rota GetRota(Cidade cidadeA, Cidade cidadeB)
        {
            var cidade = Rota.Ordenar(cidadeA, cidadeB);

            cidadeA = cidade[0];
            cidadeB = cidade[1];
            Rota ro = Rota.Rotas.Find(r => r.CidadeA.Id == cidadeA.Id && r.CidadeB.Id == cidadeB.Id);

            return(ro);
        }
Esempio n. 2
0
        public static void AddFeromonio(Cidade cidadeA, Cidade cidadeB)
        {
            var cidade = Rota.Ordenar(cidadeA, cidadeB);

            cidadeA = cidade[0];
            cidadeB = cidade[1];

            Rota rota = Rota.Rotas.Find(r => r.CidadeA.Id == cidadeA.Id && r.CidadeB.Id == cidadeB.Id);

            rota.Feromonio += QUANTIDADE_FEROMONIO_ADICIODAR;
        }
Esempio n. 3
0
        public Rota(Cidade cidadeA, Cidade cidadeB, int distancia)
        {
            this.Distancia = distancia;


            var cidade = Rota.Ordenar(cidadeA, cidadeB);

            this.CidadeA = cidade[0];
            this.CidadeB = cidade[1];

            this.Feromonio = 0.1;

            Rota.AddRota(this);
        }
Esempio n. 4
0
        public Boolean Equal(Object obj)
        {
            Rota rota = obj as Rota;

            if (obj == null)
            {
                return(false);
            }

            var cidade     = Rota.Ordenar(rota.CidadeA, rota.CidadeB);
            var objCidadeA = cidade[0];
            var objCidadeB = cidade[1];

            cidade = Rota.Ordenar(this.CidadeA, this.CidadeB);
            var thisCidadeA = cidade[0];
            var thisCidadeB = cidade[1];

            return(objCidadeA.Id == thisCidadeA.Id && objCidadeB.Id == thisCidadeB.Id);
        }