예제 #1
0
 public void rondeSpel()
 {
     if (kabel.IsStartPositieLeeg() == true)
     {
         if (WachtrijStarten.ReturnWachtrij().Count != 0)
         {
             Sporter sporter = WachtrijStarten.SportersVerlatenRij(1).ElementAt(0);
             w.SporterStart(sporter);
         }
     }
     if (counter % 4 == 0)
     {
         LijnenVerplaatst.Invoke();
     }
     if (counter % 2 == 0)
     {
         NieuweBezoeker.Invoke(new NieuweBezoekerArgs(new Sporter()));
     }
     if (counter % 13 == 0)
     {
         NieuweInstructie.Invoke();
     }
     if (counter % 20 == 0)
     {
         InstructieAfgelopen.Invoke(new InstructieAfgelopenArgs(new List <Sporter>()));
     }
     counter++;
 }
예제 #2
0
        private void OnTimedEvent(Object source, ElapsedEventArgs e)
        {
            /*Sporter sporter = new Sporter(MoveCollection.GetWillekeurigeMoves());
             *
             * waterskibaan.SporterStart(sporter);
             * Console.WriteLine(waterskibaan);
             * waterskibaan.VerplaatsKabel();
             * Console.WriteLine();*/


            if (loopCounter % 3 == 0)
            {
                Sporter sporter = new Sporter(MoveCollection.GetWillekeurigeMoves());
                NieuweBezoeker?.Invoke(new NieuweBezoekerArgs(sporter));
            }

            if (loopCounter % 20 == 0)
            {
                List <Sporter> sporters = instructieGroep.SportersVerlatenRij(wachtrijinstructie.GetAlleSporters().Count);
                InstructieAfgelopen?.Invoke(new InstructieAfgelopenArgs(sporters));
            }

            if (loopCounter % 4 == 0)
            {
                LijnenVerplaatst?.Invoke();
            }
        }
예제 #3
0
 private void Timer_Elapsed(object sender, ElapsedEventArgs e)
 {
     timed++;
     if (timed % 3 == 0)
     {
         Sporter sporter = new Sporter(MoveCollection.GetWillekeurigeMoves());
         NieuweBezoeker?.Invoke(new NieuweBezoekerArgs(sporter));
     }
     if (timed % 21 == 0)
     {
         List <Sporter> sporters = wachtrijInstructie.SportersVerlatenRij(wachtrijInstructie.GetAlleSporters().Count);
         instructieAfgelopen?.Invoke(new InstructieAfgelopenArgs(sporters));
     }
     if (timed > 30 && timed % 3 == 0)
     {
         LijnenVerplaatst?.Invoke();
     }
 }
예제 #4
0
        private void VoegSporterToe(object source, ElapsedEventArgs e)
        {
            if (secondsSinceLastBezoeker > 3) //elke 3 seconden nieuwe sporter
            {
                Sporter sporter = NieuweSporterbezoeker();
                secondsSinceLastBezoeker = 0;
                NieuweBezoeker?.Invoke(new NieuweBezoekerArgs {
                    Sporter = sporter
                });
            }

            if (secondsSinceLastInstructie > 20) // elke 20 seconden nieuwe instructiegroep
            {
                secondsSinceLastInstructie = 0;
                InstructieAfgelopen.Invoke(new InstructieAfgelopenArgs
                {
                    Sporters               = wachtrijInstructie.SportersVerlatenRij(5),
                    SportersInInstructie   = instructiegroep.Queue.Count,
                    SportersKlaarVoorStart = wachtrijStarten.Queue.Count
                });
            }
            if (secondsSinceLijnenVerplaatst > 4)
            {
                secondsSinceLijnenVerplaatst = 0;
                LijnenVerplaatst.Invoke(new VerplaatsLijnenArgs(waterskiBaan._kabel._lijnen, waterskiBaan._lijnenVoorraad));
            }

            //secondes erbij, elke een losse anders heb je niet verschillende events, haalt de eerste het altijd terug naar 0
            secondsSinceLastBezoeker++;
            secondsSinceLastInstructie++;
            secondsSinceLijnenVerplaatst++;

            // print de waardes
            Console.WriteLine(waterskiBaan);
            Console.WriteLine(wachtrijInstructie);
            Console.WriteLine(instructiegroep);
            Console.WriteLine(wachtrijStarten);



            gameTimer.Start();
        }
예제 #5
0
        private void OnLijnenVerplaatst(object source, EventArgs e)
        {
            if (_counter % 3 != 0)
            {
                return;
            }

            waterskibaan.VerplaatsKabel();

            if (waterskibaan._kabel.IsStartPositieLeeg())
            {
                List <Sporter> sporters = _wachtrijStarten.SportersVerlatenRij(1);
                if (sporters.Count > 0)
                {
                    Sporter sporter = sporters[0];
                    sporter.Zwemvest = new Zwemvest();
                    sporter.Skies    = new Skies();

                    waterskibaan.SporterStart(sporter);

                    var random = new Random();

                    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 = sporter,
                        Lijnen  = waterskibaan._kabel.Lijnen
                    };

                    LijnenVerplaatst?.Invoke(args);
                }
            }
        }
예제 #6
0
        private void OnTimedEvent(Object source, ElapsedEventArgs e)
        {
            _counter++;
            _timer.Interval = getRandomTime();

            if (_counter % 3 == 0)
            {
                Sporter sporter = new Sporter(MoveCollection.GetWillekeurigeMoves());
                NieuweBezoeker?.Invoke(new NieuweBezoekerArgs(sporter));
            }

            if (_counter % 4 == 0)
            {
                LijnenVerplaatst?.Invoke();
            }

            if (_counter % 20 == 0)
            {
                List<Sporter> sporters = _instructieGroep.SportersVerlatenRij(_wachtrijInstructie.GetAlleSporters().Count);
                InstructieAfgelopen?.Invoke(new InstructieAfgelopenArgs(sporters));
            }
            
        }
예제 #7
0
        public void timer_Tick(object sender, EventArgs e)
        {
            //Console.WriteLine($"loopCounter = {loopCounter}");
            if (loopCounter % 3 == 0)
            {
                Sporter sporter = new Sporter(MoveCollection.GetWillekeurigeMoves());
                NieuweBezoeker?.Invoke(new NieuweBezoekerArgs(sporter));
            }

            if (loopCounter % 10 == 0)
            {
                List <Sporter> sporters = instructieGroep.SportersVerlatenRij(wachtrijinstructie.GetAlleSporters().Count);
                InstructieAfgelopen?.Invoke(new InstructieAfgelopenArgs(sporters));
                //Console.WriteLine($"Totaal aantal bezoekers = {logger.totaalAantalBezoekers()}");
                //Console.WriteLine($"Hoogste score tot nu toe = {logger.hoogsteScore()}");
                //Console.WriteLine($"Totaal aantal rondjes gedaan = {logger.totaalAantalRondjes()}");
            }

            if (loopCounter % 4 == 0)
            {
                LijnenVerplaatst?.Invoke();
            }
            loopCounter++;
        }
        private void OnTimedEvent(Object source, EventArgs e)
        {
            counter++;
            Console.WriteLine(waterskibaan.ToString());
            Console.WriteLine(wachtrijInstructie.ToString());
            Console.WriteLine(instructieGroep.ToString());
            Console.WriteLine(wachtrijStarten.ToString());

            if (counter % 3 == 0)
            {
                Sporter sporter = new Sporter(MoveCollection.GetWillekeurigeMoves());
                NieuweBezoeker?.Invoke(new NieuweBezoekerArgs(sporter));
            }

            if (counter % 20 == 0)
            {
                List <Sporter> sporters = instructieGroep.SportersVerlatenRij(wachtrijInstructie.GetAlleSporters().Count);
                InstructieAfgelopen?.Invoke(new InstructieAfgelopenArgs(sporters));
            }
            if (counter % 4 == 0)
            {
                LijnenVerplaatst?.Invoke();
            }
        }
예제 #9
0
 private void LijnenVerplaatsenLoop(object sender, ElapsedEventArgs e)
 {
     LijnenVerplaatst?.Invoke();
 }
예제 #10
0
        private void dispatcherTimer_Tick(object sender, EventArgs e)
        {
            if (count % 1 == 0)
            {
                if (waterskibaan.Kabel.IsStartPositieLeeg())
                {
                    try {
                        Sporter sp = wachtrijStarten.SportersVerlatenRij(1)[0];
                        sp.Skies    = new Skies();
                        sp.Zwemvest = new Zwemvest();
                        waterskibaan.SporterStart(sp);
                        Console.WriteLine(waterskibaan.ToString());
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }
            if (count % 3 == 0)
            {
                try
                {
                    NieuweBezoeker?.Invoke(new NieuweBezoekerArgs(new Sporter(MoveCollection.GetWillekeurigeMoves())));
                }
                catch (Exception ex)
                {
                    Console.WriteLine("COUNT 3");
                    Console.WriteLine(ex.Message);
                }
            }
            if (count % 4 == 0)
            {
                try
                {
                    LijnenVerplaatst?.Invoke();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("count 4");
                    Console.WriteLine(ex.Message);
                }
            }

            if (count % 20 == 0)
            {
                try
                {
                    List <Sporter> Sporters = instructieGroep.SportersVerlatenRij(instructieGroep.MAX_LENGTE_RIJ);
                    InstructieAfgelopen?.Invoke(new InstructieAfgelopenArgs(Sporters));
                }
                catch (Exception ex)
                {
                    Console.WriteLine("count 20");
                    Console.WriteLine(ex.Message);
                }
            }

            if (count % 10 == 0)
            {
                Console.WriteLine("=====================INVENTARIS==================");
                Console.WriteLine($"WachtrijInstructie: {wachtrijinstructie.ToString()}");
                Console.WriteLine($"Instructiegroep: {instructieGroep.ToString()}");
                Console.WriteLine($"WachtrijStarten: {wachtrijStarten.ToString()}");
                Console.WriteLine("==================================================");
            }
            count += 1;
        }