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