Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
 public EmplacementColonie getAutreColonie(EmplacementColonie c)
 {
     if (colonies[0] == c) return colonies[1];
     else return colonies[0];
 }