// Vangt de events op die om de seconde gebeuren
        public void OnTimedEvent(Object source, ElapsedEventArgs e)
        {
            // Houdt de hoeveelheid secondes bij dat het programma al loopt
            oteCounter++;
            Console.WriteLine(oteCounter + " seconde(s) voorbij");

            // Om de 3 seconden
            if (oteCounter % 3 == 0)
            {
                NieuweBezoekerArgs nieuweBezoekerArgs = new NieuweBezoekerArgs();
                nieuweBezoekerArgs.sporter = new Sporter(MoveCollection.GetWillekeurigeMoves(5));
                NieuweBezoekers(nieuweBezoekerArgs);
            }

            // Om de 20 seconden
            if (oteCounter % 20 == 0)
            {
                InstructieAfgelopenArgs instructieAfgelopenArgs = new InstructieAfgelopenArgs();
                instructieAfgelopenArgs.VorigeWachtrij   = wachtrijInstructie;
                instructieAfgelopenArgs.VolgendeWachtrij = wachtrijStarten;



                InstructieAfgelopen.Invoke(instructieAfgelopenArgs);
            }
            Console.WriteLine("\n" + wachtrijInstructie.GetAlleSporters().Count + " bezoeker(s) in de WachtrijInstructie");
            Console.WriteLine(instructieGroep.GetAlleSporters().Count + " bezoeker(s) in de InstructieGroep");
            Console.WriteLine(wachtrijStarten.GetAlleSporters().Count + " bezoeker(s) in de WachtrijStarten\n");
        }
示例#2
0
 public void OnInstructieAfgelopen(InstructieAfgelopenArgs args)
 {
     foreach (Sporter sporter in args.sportersNaarVolgendeGroep)
     {
         SporterNeemPlaatsInRij(sporter);
     }
 }
 public void InstructieAfgelopen(InstructieAfgelopenArgs args)
 {
     foreach (Sporter sporter in args.SportersNieuw)
     {
         SporterNeemPlaatsInRij(sporter);
     }
 }
示例#4
0
        public void instructieNaarWachtrij(InstructieAfgelopenArgs e)
        {
            List <Sporter> sporters = new List <Sporter>();

            sporters = instructieGroep.SportersVerlatenRij(5);
            foreach (Sporter sporter in sporters)
            {
                WachtrijStarten.SporterNeemPlaatsInRij(sporter);
            }
        }
示例#5
0
        private void HandleInstructionEnded()
        {
            var args = new InstructieAfgelopenArgs
            {
                SportersKlaar = _instructieGroep.SportersVerlatenRij(5),
                SportersNieuw = _wachtrijInstrucie.SportersVerlatenRij(5)
            };

            InstructieAfgelopen?.Invoke(args);
        }
示例#6
0
 private void OnInstructieIsAfgelopen(object source, EventArgs e)
 {
     if (tickCount % 20 == 0)
     {
         InstructieAfgelopenArgs afgelopenArgs = new InstructieAfgelopenArgs()
         {
             SportersKlaar  = instructieGroep.SportersVerlatenRij(5),
             NieuweSporters = wachtrijInstructie.SportersVerlatenRij(5)
         };
         InstructieAfgelopen?.Invoke(afgelopenArgs);
     }
 }
        public void InstructieAfgelopenHandler(InstructieAfgelopenArgs args)
        {
            if (sporters.Count() > 0)
            {
                args.InstructedSporters = SportersVerlatenRij(5);
            }

            foreach (Sporter sporter in args.NewUninstructedSpelers)
            {
                SporterNeemPlaatsInRij(sporter);
            }
        }
示例#8
0
        public void InstructieAfgelopenHandler(InstructieAfgelopenArgs args)
        {
            foreach (var item in args.InstructieGroep.SportersVerlatenRij(args.WachtrijStarten.GetFreeSpace()))
            {
                args.WachtrijStarten.SporterNeemPlaatsInRij(item);
            }

            foreach (var item in SportersVerlatenRij(args.InstructieGroep.GetFreeSpace()))
            {
                args.InstructieGroep.SporterNeemPlaatsInRij(item);
            }
        }
示例#9
0
        private void OnInstructieAfgelopen(InstructieAfgelopenArgs e)
        {
            foreach (Sporter sporter in e.Sporters)
            {
                _wachtrijStarten.SporterNeemPlaatsInRij(sporter);
            }

            List<Sporter> sporters = _wachtrijInstructie.SportersVerlatenRij(Math.Min(_wachtrijInstructie.GetAlleSporters().Count, _instructieGroep.MAX_LENGTE_RIJ));
            foreach (Sporter sporter in sporters)
            {
                _instructieGroep.SporterNeemPlaatsInRij(sporter);
            }
        }
示例#10
0
        private void OnInstructieAflopen(InstructieAfgelopenArgs e)
        {
            foreach (var sp in e.Sporters)
            {
                wachtrijStarten.SporterNeemPlaatsInRij(sp);
            }

            List <Sporter> Sporters = wachtrijinstructie.SportersVerlatenRij(Math.Min(wachtrijinstructie.GetAlleSporters().Count, instructieGroep.MAX_LENGTE_RIJ));

            foreach (var sp in Sporters)
            {
                instructieGroep.SporterNeemPlaatsInRij(sp);
            }
        }
示例#11
0
        private void OnInstructieAfgelopen(object source, EventArgs e)
        {
            if (_counter % 20 != 0)
            {
                return;
            }

            var args = new InstructieAfgelopenArgs
            {
                SportersKlaar = _instructieGroep.SportersVerlatenRij(5),
                SportersNieuw = _wachtrijInstructie.SportersVerlatenRij(5)
            };

            InstructieAfgelopen?.Invoke(args);
        }
示例#12
0
 public void OnInstructieGroep(InstructieAfgelopenArgs e)
 {
     if (InstrG.GetAlleSporters().Count > 0)
     {
         List <Sporter> Instructie = InstrG.SportersVerlatenRij(InstrG.GetAlleSporters().Count);
         foreach (Sporter sp in Instructie)
         {
             Wachtst.SporterNeemPlaatsInRij(sp);
         }
     }
     foreach (Sporter sp in e.SporternrInstructie)
     {
         InstrG.SporterNeemPlaatsInRij(sp);
     }
 }
示例#13
0
        private void InstructieIsAfgelopen(InstructieAfgelopenArgs args)
        {
            if (ig.GetAlleSporters().Count > 0)
            {
                List <Sporter> instructie = ig.SportersVerlaten(ig.GetAlleSporters().Count);
                foreach (Sporter sp in instructie)
                {
                    ws.SporterNeemPlaatsInRij(sp);
                }
            }

            foreach (Sporter sp in args.sporterLijst)
            {
                ig.SporterNeemPlaatsInRij(sp);
            }
        }
示例#14
0
        private void OninstructieAfgelopen(InstructieAfgelopenArgs e)
        {
            foreach (Sporter sporter in e.Sporters)
            {
                instructieGroep.SporterNeemtPlaats(sporter);
                Log.GooiSportersinLijst(sporter);
            }
            Console.WriteLine($"Event on instr. afgelopen {instructieGroep.GetAantal()}");
            System.Threading.Thread.Sleep(1000);
            List <Sporter> sporters = instructieGroep.SportersVerlatenRij(instructieGroep.GetAlleSporters().Count);

            foreach (Sporter sporter in sporters)
            {
                wachtrijStarten.SporterNeemtPlaats(sporter);
            }
            Console.WriteLine($" in  de instructie groep{instructieGroep.GetAantal()} aantal in de wachtrij starten {wachtrijStarten.GetAantal()}");
        }
        public void OnInstructieAfgelopen(InstructieAfgelopenArgs args)
        {
            int verschil = args.VolgendeWachtrij.MAX_LENGTE_RIJ - args.VolgendeWachtrij.GetAlleSporters().Count;
            int aantal;

            if (verschil > GetAlleSporters().Count)
            {
                aantal = GetAlleSporters().Count;
            }
            else
            {
                aantal = verschil;
            }

            List <Sporter> sportersNaarWachtrijStarten = SportersVerlatenRij(aantal);



            InstructieAfgelopen.Invoke(new InstructieAfgelopenArgs()
            {
                sportersNaarVolgendeGroep = sportersNaarWachtrijStarten
            });

            int rest = MAX_LENGTE_RIJ - GetAlleSporters().Count;

            if (rest > args.VorigeWachtrij.GetAlleSporters().Count)
            {
                rest = args.VorigeWachtrij.GetAlleSporters().Count;
            }

            List <Sporter> sportersVanWachtrijInstructie = args.VorigeWachtrij.SportersVerlatenRij(rest);



            foreach (Sporter sporter in sportersVanWachtrijInstructie)
            {
                SporterNeemPlaatsInRij(sporter);
            }
        }
示例#16
0
 public void BezoekersNaarInstructie(InstructieAfgelopenArgs args)
 {
     InstructieAfgelopen?.Invoke(args);
 }