示例#1
0
        private void VerplaatsLijnen(object source, EventArgs e)
        {
            Sporter sporterStart = null;

            if (tickCount % 4 == 0)
            {
                waterskibaan.VerplaatsKabel();
                if (waterskibaan.kabel.IsStartPositieLeeg() && wachtrijStarten.GetAlleSporters().Count != 0 && waterskibaan.voorraad.GetAantalLijnen() != 0)
                {
                    sporterStart          = wachtrijStarten.SportersVerlatenRij(1)[0];
                    sporterStart.Skies    = new Skies();
                    sporterStart.Zwemvest = new Zwemvest();
                    waterskibaan.SporterStart(sporterStart);
                }
                foreach (Lijn lijn in waterskibaan.kabel._lijnen)
                {
                    lijn.Sporter.move = null;
                    int r = random.Next(100);
                    if (r >= 70)
                    {
                        lijn.Sporter.DoeMove();
                    }
                }
            }
        }
示例#2
0
        private void HandleChangeLines()
        {
            _waterskibaan.VerplaatsKabel();

            if (_wachtrijStarten.GetAlleSporters().Count > 0 && _waterskibaan.Kabel.IsStartPositieLeeg() != false)
            {
                var athlete = _wachtrijStarten.SportersVerlatenRij(1)[0];
                var random  = new Random();

                athlete.Skies    = new Skies();
                athlete.Zwemvest = new Zwemvest();

                _waterskibaan.SporterStart(athlete);

                foreach (var line in _waterskibaan.Kabel.Lijnen)
                {
                    line.Sporter.HuidigeMove = random.Next(0, 100) <= 25 ? line.Sporter.Moves[random.Next(0, line.Sporter.Moves.Count)] : null;
                    line.Sporter.Score      += line.Sporter.HuidigeMove?.Move() ?? 0;
                }

                var args = new LijnenVerplaatsArgs
                {
                    Sporter = athlete,
                    Lijnen  = _waterskibaan.Kabel.Lijnen
                };

                LijnenVerplaats?.Invoke(args);
            }
        }
        // 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");
        }
示例#4
0
        public void LijnenVerplaatsen()
        {
            waterb.VerplaatsKabel();

            if (Wachtst.GetAlleSporters().Count == 0)
            {
                return;
            }
            if (waterb.p.IsStartPositieLeeg())
            {
                Sporter Sporterstart = Wachtst.SportersVerlatenRij(1)[0];

                Sporterstart.Skies    = new Skies();
                Sporterstart.Zwemvest = new Zwemvest();

                waterb.SporterStart(Sporterstart);
            }
        }