Ejemplo 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)
                {
                    List <RouteWidget> routes = new List <RouteWidget>();
                    foreach (RouteWidget r in Routes)
                    {
                        if (r.Route.Position != w.Position)
                        {
                            routes.Add(r);
                        }
                    }
                    routes.Add(new RouteWidget(w));
                    Routes = routes;
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void Tick(object sender, System.EventArgs e)
        {
            if (bAvancer)
            {
                voiture.Accelerer();
            }
            else if (bReculer)
            {
                if (voiture.Vitesse <= 0)
                {
                    voiture.Reculer();
                }
                else
                {
                    voiture.Freiner();
                }
            }
            else if (!bReculer && !bAvancer)
            {
                voiture.Ralentir();
            }
            voiture.Avancer();

            if (bGauche)
            {
                voiture.TournerGauche();
            }

            if (bDroite)
            {
                voiture.TournerDroite();
            }

            if (ToolsBox.Visible && _hoverWayWidget != null)
            {
                Point p = PointToClient(Cursor.Position);
                _hoverWayWidget.Route.Position = new Point(p.X / 100, p.Y / 100);
            }

            foreach (UsagerWidget roadUserWidget in roadUsers)
            {
                if (roadUserWidget is VoitureWidget)
                {
                    VoitureWidget voitureWidget = roadUserWidget as VoitureWidget;
                    foreach (RouteWidget route in Ways)
                    {
                        if (route.Route.DansLaRoute(voitureWidget.Voiture))
                        {
                            voitureWidget.Couleur = Color.Green;
                            Console.WriteLine("Voiture verte");
                            continue;
                        }
                        voitureWidget.Couleur = Color.Red;
                    }
                }
            }

            Invalidate();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Constructeur par défaut.
        /// </summary>
        public EnVoitureForm()
        {
            InitializeComponent();
            VoitureWidget v = new VoitureWidget(0, 0, 10, 20, 80);

            this._roadUsers.Add(v);
            this.voiture            = v.Voiture;
            enVoiturePanel.ToolsBox = toolsBox;
        }
Ejemplo n.º 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void timer_Tick(object sender, System.EventArgs e)
 {
     enVoiturePanel.Tick(sender, e);
     foreach (UsagerWidget roadUser in _roadUsers)
     {
         if (roadUser is VoitureWidget)
         {
             VoitureWidget voiture = roadUser as VoitureWidget;
             foreach (Route route in Ways)
             {
                 if (route.DansLaRoute(voiture.Voiture))
                 {
                     voiture.Couleur = Color.Green;
                     MessageBox.Show("Voiture verte");
                 }
             }
             voiture.Couleur = Color.Red;
         }
     }
 }