Esempio n. 1
0
 private void Out_Click(object sender, EventArgs e)
 {
     if (AmpelNebenstraße.Zustand == 0)
     {
         bOutFlash = true;
         outPush   = true;
         ButtonFlash.Start();
     }
 }
Esempio n. 2
0
 private void Left_Click(object sender, EventArgs e)
 {
     if (AmpelLinks.Zustand == 0)
     {
         bLeftFlash = true;
         leftPush   = true;
         ButtonFlash.Start();
     }
 }
Esempio n. 3
0
 private void CarMove_Tick(object sender, EventArgs e)
 {
     #region Car1 fährt gerade aus
     if (bCar1_enable == true)
     {
         #region Stop an Ampel
         if (iCar1X >= 789 && iCar1X <= 801 && AmpelGerade.Zustand != 5)
         {
         }
         #endregion Stop an Ampel
         #region Fahrbefehle
         else
         {
             //Zufall für Spurwechsel nach Ampel
             if (iCar1X <= 1100)
             {
                 iSpurwechsel = rSpurwechsel.Next(0, 2);
             }
             //Spurwechsel
             if (iCar1X == 1100 && iSpurwechsel == 1)
             {
                 iCar1Y -= iCarSpeedNormal / 2;
                 iCar1X += iCarSpeedNormal;
             }
             //Gerade aus ohne Spurwechsel
             else
             {
                 iCar1X += iCarSpeedNormal;
             }
             //Gerade mit Spurwechsel
             if (iCar1X >= 1100 && iCar1Y < 535)
             {
                 if (iCar1Y >= 415)
                 {
                     iCar1Y -= iCarSpeedNormal - 3;
                 }
                 iCar1X += iCarSpeedFast;
             }
         }
         //Zurücksetzen
         if (iCar1X >= 1920)
         {
             iCar1X = -50;
             iCar1Y = 535;
             iCountCar1++;
         }
         this.Car1.Location = new Point(iCar1X, iCar1Y);
         #endregion Fahrbefehle
     }
     #endregion Car1
     #region Car2 biegt links ab
     if (bCar2_enable == true)
     {
         #region Stop Bei Rot & Anforderung Kontaktschleife
         if (iCar2X >= 689 && iCar2X <= 701 && AmpelLinks.Zustand != 3)
         {
             ButtonFlash.Start();
             if (bLeftFlash == false)
             {
                 bLeftFlash = true;
             }
             if (bLeftFertig == true)
             {
                 bLeftFertig = false;
                 //leftPush = true;
                 Left_Click(sender, e);
             }
         }
         #endregion
         #region Fahrbefehle
         else
         {
             //Gerade
             if (iCar2X < 850)
             {
                 iCar2X += iCarSpeedNormal;
             }
             //Kurve
             if (iCar2X >= 850 && iCar2X <= 975)
             {
                 iCar2X += iCarSpeedNormal / 2;
                 iCar2Y -= iCarSpeedNormal / 2;
             }
             //Gerade auf Nebenstraße
             if (iCar2X >= 980)
             {
                 iCar2Y -= iCarSpeedNormal;
             }
             //Rücksetzen
             if (iCar2Y <= -50)
             {
                 iCar2Y = 415;
                 iCar2X = -50;
                 iCountCar2++;
             }
         }
         this.Car2.Location = new Point(iCar2X, iCar2Y);
         #endregion
     }
     #endregion Car2 biegt links ab
     #region Car3 fährt aus Nebenstraße
     if (bCar3_enable == true)
     {
         #region Stop bei Rot & Kontakschleife Anfordern
         if (iCar3Y >= 109 && iCar3Y <= 121 && AmpelNebenstraße.Zustand != 3)
         {
             ButtonFlash.Start();
             if (bOutFlash == false)
             {
                 bOutFlash = true;
             }
             #region Anforderung der Kontaktschleife
             if (bOutFertig == true)
             {
                 Out_Click(sender, e);
                 bOutFertig = false;
                 //outPush = true;
                 //Zufall für Abbiegen
                 iCar3LR = Car3LR.Next(0, 100);
             }
             #endregion
         }
         #endregion
         #region Fahrbefehle
         else
         {
             //Gerade bis zur Ampel
             if (iCar3Y < 250)
             {
                 iCar3Y += iCarSpeedNormal - 3;
             }
             //Rechts Abbiegen
             if (iCar3Y >= 250 && iCar3Y < 280 && (iCar3LR % 2) == 0 && bCar3L == false)
             {
                 iCar3X -= 2;
                 iCar3Y += 2;
                 bCar3R  = true;
             }
             if (iCar3Y >= 280 && bCar3R == true)
             {
                 iCar3X -= iCarSpeedNormal;
             }
             //Zurücksetzen nach Rechts Abbiegen
             if (iCar3X <= -50 && bCar3R == true)
             {
                 iCar3X = 890;
                 iCar3Y = -50;
                 bCar3R = false;
                 iCountCar3++;
             }
             //Links abbiegen
             if (iCar3Y >= 250 && iCar3Y < 540 && (iCar3LR % 2) != 0 && bCar3R == false)
             {
                 iCar3X += iCarSpeedNormal / 5;
                 iCar3Y += (iCarSpeedNormal / 5) * 3;
                 bCar3L  = true;
             }
             if (iCar3Y >= 535 && bCar3L == true)
             {
                 iCar3X += iCarSpeedNormal;
             }
             //Rücksetzen nach Links Abbiegen
             if (iCar3X >= 1920 && bCar3L == true)
             {
                 iCar3X = 890;
                 iCar3Y = -50;
                 bCar3L = false;
                 iCountCar3++;
             }
             this.Car3.Location = new Point(iCar3X, iCar3Y);
         }
         #endregion
     }
     #endregion Car3 fährt aus Nebenstraße
     #region Car4 Fährt von Rechts nach Links
     if (bCar4_enable == true)
     {
         #region Stop bei Rot & Zufall für Abbiegen
         if (iCar4X >= 1080 && iCar4X <= 1100 && AmpelGeradeRechts.Zustand != 5)
         {
             //Zufall für Abbiegen
             iCar4RG = Car4RG.Next(0, 100);
         }
         #endregion
         #region Fahrbefehle
         else
         {
             #region bis zur Ampel
             if (iCar4X > 1020)
             {
                 iCar4X -= iCarSpeedNormal;
             }
             #endregion
             #region Rechts Abbiegen
             //Kurve
             if (iCar4X <= 1020 && iCar4X > 980 && (iCar4RG % 2) == 0 && bCar4G == false)
             {
                 iCar4X -= iCarSpeedNormal / 2;
                 iCar4Y -= iCarSpeedNormal / 2;
                 bCar4R  = true;
             }
             //Gerade auf Nebenstraße
             if (iCar4X <= 980 && bCar4R == true)
             {
                 iCar4Y -= iCarSpeedNormal;
             }
             //Rücksetzen
             if (iCar4Y <= -50 && bCar4R == true)
             {
                 iCar4X = 1920;
                 iCar4Y = 300;
                 bCar4R = false;
                 iCountCar4++;
             }
             #endregion
             #region Gerade
             if (iCar4X <= 1020 && iCar4X > 980 && (iCar4RG % 2) != 0 && bCar4R == false)
             {
                 iCar4X -= iCarSpeedNormal;
                 bCar4G  = true;
             }
             if (iCar4X <= 980 && bCar4G == true)
             {
                 iCar4X -= iCarSpeedNormal;
             }
             //Rücksetzen
             if (iCar4X <= -50 && bCar4G == true)
             {
                 iCar4X = 1920;
                 iCar4Y = 300;
                 bCar4G = false;
                 iCountCar4++;
             }
             #endregion
         }
         this.Car4.Location = new Point(iCar4X, iCar4Y);
         #endregion
     }
     #endregion Car4 fährt von rechts nach links
 }