public void LinkObject(Coordonnees coor, SujetObserveAbstrait obj, Grille grille) { if (coor == null) { return; } if (!coor.EstValide()) { return; } if (grille == null) { return; } if (TestNullObject(obj)) { return; } var node = GetNode(coor, grille); if (node == null) { Console.WriteLine("LinkCaseToZone: Impossible de récupérer une node viable en " + coor); return; } AttachObjectToCase(node, obj); AttachCaseToObject(node, obj); }
protected override bool TestValidNode(Coordonnees coor) { if (coor == null) { throw new NullReferenceException("Les coordonnées de la node à valider sont nulles !"); } if (!coor.EstValide()) { throw new InvalidOperationException("Les coordonnées renseignées ne sont pas valides"); } // var node = (Node<Case>)tableau[i, j]; var node = (Node <Case>)Tableau.ElementAt(coor); CaseAgeOfKebab c = (CaseAgeOfKebab)node.Value; // CaseAgeOfKebab c = node.Value as CaseAgeOfKebab; if (c == null) { throw new NullReferenceException("Le type de case ne correspond pas !!"); } if (!c.Walkable) { //Console.WriteLine("Cette case n'est pas Walkable ! " + node.Coor); return(false); // la case n'est pas valide si elle n'est pas Walkable ! } return(true); }
public object ElementAt(Coordonnees coor) { if (!coor.EstValide()) { return(null); } return(this[coor.X, coor.Y]); }
public ArrayList Route(Coordonnees paris, Coordonnees marseille) { if (!paris.EstValide()) { throw new InvalidOperationException("Route: Les coordonnées choisies sont invalides !"); } if (!marseille.EstValide()) { throw new InvalidOperationException("Route: Les coordonnées choisies sont invalides !"); } computePaths((Node <T>) this[paris.X, paris.Y], (Node <T>) this[marseille.X, marseille.Y]); return(getShortestPathTo((Vertex)this[marseille.X, marseille.Y])); }
public void LinkObject(Coordonnees coor, SujetObserveAbstrait obj, Grille grille) { if (coor == null) return; if (!coor.EstValide()) return; if(grille == null) return; if (TestNullObject(obj)) return; var node = GetNode(coor,grille); if (node == null) { Console.WriteLine("LinkCaseToZone: Impossible de récupérer une node viable en " + coor); return; } AttachObjectToCase(node, obj); AttachCaseToObject(node, obj); }
public List <Coordonnees> FindAjacentOfZone(Coordonnees coor, ZoneFinale zone) { List <Coordonnees> list = new List <Coordonnees>(); if (zone == null) { return(list); } if (coor == null || !coor.EstValide()) { return(list); } foreach (var adj in Coordonnees.ObtenirCasesAdjacentes(coor)) { if (zone.ContientCoordonnees(adj)) { list.Add(adj); } } return(list); }
public List<Coordonnees> FindAjacentOfZone(Coordonnees coor, ZoneFinale zone) { List<Coordonnees> list = new List<Coordonnees>(); if (zone == null) return list; if (coor == null || !coor.EstValide()) return list; foreach (var adj in Coordonnees.ObtenirCasesAdjacentes(coor)) { if(zone.ContientCoordonnees(adj)) list.Add(adj); } return list; }