Пример #1
0
 /// <summary>
 /// Kijk of opgegeven hardloper verder is dan de positie van de sensor.
 /// </summary>
 /// <param name="sender">De hardloper</param>
 /// <param name="positie">De positie van de hardloper</param>
 /// <returns>Stuurt terug of de hardloper nou wel of niet moet stoppen</returns>
 public bool controleerPositie(Hardloper sender, Double positie)
 {
     // Functie om de tijd om te zetten naar aantal secondes
     Func<long, double> afronden = tijd => (double)(tijd/1000000)/10;
     // Sensor 1
     if (sender.sensor == 0 && window.imgSensor1.Margin.Left < positie)
     {
         sender.sensor++;
         // Voeg tijd aan de lijst toe
         window.sensor1Tijden.Items.Add("Hardloper: " + sender.id.ToString() + " - " + afronden(sender.setTime()).ToString() + " seconde");
     }
     // Sensor 2
     if (sender.sensor == 1 && window.imgSensor2.Margin.Left < positie)
     {
         sender.sensor++;
         // Voeg tijd aan de lijst toe
         window.sensor2Tijden.Items.Add("Hardloper: " + sender.id.ToString() + " - " + afronden(sender.setTime()).ToString() + " secondes");
     }
     // Sensor 3
     if (sender.sensor == 2 && window.imgSensor3.Margin.Left < positie)
     {
         sender.sensor++;
         // Voeg tijd aan de lijst toe
         window.sensor3Tijden.Items.Add("Hardloper: " + sender.id.ToString() + " - " + afronden(sender.setTime()).ToString() + " secondes");
     }
     // Sensor 4
     if (sender.sensor == 3 && window.imgSensor4.Margin.Left < positie)
     {
         if (firstHardloper == null) // Kijk of de hardloper als eerste is
         {
             firstHardloper = sender;
             sender.Gewonnen();
         }
         else
         {
             sender.Verloren();
         }
         sender.sensor++;
         window.sensor4Tijden.Items.Add("Hardloper: " + sender.id.ToString() + " - " + afronden(sender.setTime()).ToString() + " secondes");
     }
     // Kijken of de hardloper moet stoppen (70pixels na de laatste sensor)
     if (sender.sensor == 4 && window.imgSensor4.Margin.Left + 70 < positie)
     {
         sender.sensor++;
         return (false);
     }
     return (sender.sensor < 5); // Als sensor onder de 5 is doorgaan en anders stoppen
 }
 /// <summary>
 /// Als op de knop wordt gedrukt dan moet er een hardloper worden toegevoegd.
 /// </summary>
 /// <param name="sender">Het knopje</param>
 /// <param name="e">Nog wat extra informatie</param>
 private void btnHardloperToevoegen_Click(object sender, RoutedEventArgs e)
 {
     // Maak de image aan
     Image hardloperImg = new Image();
     // Neem bijna alle eigenschappen over van het ontzichtbare plaatje
     hardloperImg.Source = image.Source;
     hardloperImg.Height = image.Height;
     hardloperImg.Width = image.Width;
     hardloperImg.HorizontalAlignment = HorizontalAlignment.Left;
     hardloperImg.VerticalAlignment = VerticalAlignment.Top;
     // Hoe ver het plaatje van de rand afzit.
     hardloperImg.Margin = new Thickness(12, lastHardloperTop, 0, 0);
     // Verhoog de variabel zodat het volgende plaatje iets meer naar onder komt te staan.
     lastHardloperTop += image.Height;
     // Maak een nieuwe hardloper class aan
     Hardloper hardloper = new Hardloper(ref hardloperImg, loopbaan) { id = hardloperId++ };
     // Zet het plaatje op het scherm.
     mainGrid.Children.Add(hardloperImg);
     // Zet de hardloper in de baan
     loopbaan.Add(hardloper);
 }
Пример #3
0
 /// <summary>
 /// Voeg een hardloper toe
 /// </summary>
 /// <param name="hardloper">De hardloper</param>
 public void Add(Hardloper hardloper)
 {
     this.hardlopers.Add(hardloper);
 }