Esempio n. 1
0
        public void CreerSecteurs(ISecteur parent, int taille_secteur, bool encore)
        {
            double RacineDeDeuxSurDeuxR = RacineDeDeuxSurDeux * parent.Taille;

            CreerSecteurs(
                parent,
                (int)(parent.Centre.X - RacineDeDeuxSurDeuxR / 2),
                (int)(parent.Centre.Y - RacineDeDeuxSurDeuxR / 2),
                (int)RacineDeDeuxSurDeuxR,
                taille_secteur,
                encore);
        }
Esempio n. 2
0
        public void CreerSecteurs(ISecteur parent, int x_Carre, int y_Carre, int taille_Carre, int taille_secteur, bool encore)
        {
            int x_SecteurAcreer = x_Carre;
            int y_SecteurAcreer = y_Carre;

            bool lastY = false;
            bool stopY = false;

            do
            {
                bool lastX = false;
                bool stopX = false;
                do
                {
                    ISecteur enfant = CreerSecteur(parent, x_SecteurAcreer, y_SecteurAcreer, taille_secteur, encore);
                    if (encore)
                    {
                        CreerSecteurs(enfant, taille_secteur / 4, false);
                    }

                    x_SecteurAcreer += (taille_secteur);
                    if (lastX)
                    {
                        stopX = true;
                    }
                    if (!lastX && x_SecteurAcreer > x_Carre + taille_Carre)
                    {
                        //x_SecteurAcreer = x_Carre + taille_Carre;
                        lastX = true;
                    }
                } while (!stopX); //x_SecteurAcreer <= x_Carre + taille_Carre);

                x_SecteurAcreer  = 0;
                y_SecteurAcreer += (taille_secteur);

                if (lastY)
                {
                    stopY = true;
                }
                if (!lastY && y_SecteurAcreer > y_Carre + taille_Carre)
                {
                    //y_SecteurAcreer = y_Carre + taille_Carre;
                    lastY = true;
                }
            } while (!stopY);//y_SecteurAcreer <= y_Carre + taille_Carre);
        }
Esempio n. 3
0
        private ISecteur CreerSecteur(ISecteur parent, int xSecteurAcreer, int ySecteurAcreer, int tailleSecteur, bool secteurIntermediaire)
        {
            ISecteur s = secteurIntermediaire ?

                         (ISecteur) new Secteur()
            {
                Centre = new Coordonnees(xSecteurAcreer, ySecteurAcreer),
                Taille = tailleSecteur * 0.71
            }

                             : (ISecteur) new FloorSecteur()
            {
                Centre = new Coordonnees(xSecteurAcreer, ySecteurAcreer),
                Taille = tailleSecteur * 0.71
            };

            ((Secteur)parent).clSecteurs.Add(s);
            return(s);
        }