Exemplo n.º 1
0
        public void OnMouseDown(object sender, MouseEventArgs e)
        {
            foreach (UsagerWidget roaduser in roadUsers)
            {
                VoitureWidget voitureCourante = roaduser as VoitureWidget;
                if (voitureCourante.Voiture.estClique(e.Location))
                {
                    voiture = voitureCourante.Voiture;
                    return;
                }
            }

            // creation de la route si en mode edition
            if (ToolsBox.Visible)
            {
                Route w = Route.VersPositionCase(e.X, e.Y, ToolsBox.RouteSelectionnee);
                if (w != null)
                {
                    Ways.Add(new RouteWidget(w));
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Constructeur par défaut.
        /// </summary>
        public EnVoiturePanel()
        {
            this.Enabled = true;

            DoubleBuffered = true;

            this.roadUsers = new List <UsagerWidget>();
            roadUsers.Add(new VoitureWidget(0, 0, 10, 20, 80));
            roadUsers.Add(new VoitureWidget(150, 150, 10, 20, 80));
            roadUsers.Add(new VoitureWidget(240, 240, 10, 20, 80));
            voiture   = (roadUsers[0] as VoitureWidget).Voiture;
            this.Ways = new List <RouteWidget>();

            foreach (Route route in Route.Generer(6, 6))
            {
                Ways.Add(new RouteWidget(route));
            }
            this.Paint += new PaintEventHandler(EnVoiture_Paint);

            foreach (Route route in Route.Generer(8, 6))
            {
                this.Ways.Add(new RouteWidget(route));
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// permet de tester si la voiture se trouve sur la route
 /// </summary>
 /// <param name="route">contient la route</param>
 /// <param name="voiture">contient la voiture</param>
 /// <returns>retourne vrai si la voiture se trouve sur la route et false si elle ne l'est pas</returns>
 public bool DansLaRoute(Voiture voiture)
 {
     //si le bord gauche de la voiture dépasse le bord gauche de la route
     if (voiture.Gauche < this.BordGauche)
     {
         return(false);
     }
     //si le bord droit de la voiture dépasse le bord droit de la route
     if (voiture.Droite > this.BordDroite)
     {
         return(false);
     }
     //si le bord haut de la voiture dépasse le bord haut de la route
     if (voiture.Haut < this.BordHaut)
     {
         return(false);
     }
     //si le bord bas de la voiture dépasse le bord bas de la route
     if (voiture.Bas > this.BordBas)
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 4
0
 /// <summary>
 /// Constructeur permettant de définir la position et la taille d'une voiture en donnant directement les valeurs.
 /// </summary>
 /// <param name="x">Position x du côté gauche</param>
 /// <param name="y">Position y du haut</param>
 /// <param name="width">Largeur</param>
 /// <param name="height">Hauteur</param>
 public VoitureWidget(int x, int y, int width, int height, float vMax)
 {
     this.Voiture = new Voiture(x, y, width, height, vMax);
 }
Exemplo n.º 5
0
 /// <summary>
 /// Constructeur permettant de définir la position et la taille d'une voiture d'après un rectangle.
 /// </summary>
 /// <param name="rectangle">Rectangle sur lequel baser la géométrie de la voiture</param>
 public VoitureWidget(Rectangle rectangle)
 {
     this.Voiture = new Voiture(rectangle, 0.0F);
 }