public void ajoutColonie(EmplacementColonie c) { if (colonies[1] != null) throw new InvalidOperationException("Le chemin relie deja 2 cellules!"); if (colonies[0] == null) colonies[0] = c; else colonies[1] = c; c.connections.Add(this); }
private bool colonieRelieAJoueur(EmplacementColonie c, Joueur j) { if (c.controlleur != null && c.controlleur.nom == j.nom) return true; foreach( Chemin ch in c.connections ) { if (ch.proprietaire != null && ch.proprietaire.nom == j.nom) return true; } return false; }
private int distanceRouteConsecutiveColonie(EmplacementColonie c, HashSet<Chemin> visite) { int max = 0; foreach(Chemin ch in c.connections ) { if (ch.proprietaire != this.proprietaire) continue; max = Math.Max(max, ch.distanceRouteConsecutiveHelper(visite)); } return max; }
public EmplacementColonie getAutreColonie(EmplacementColonie c) { if (colonies[0] == c) return colonies[1]; else return colonies[0]; }