示例#1
0
        public void SporterStart(Sporter sp)
        {
            if (sp.Zwemvest == null)
            {
                throw new Exception("Je moet nog een zwemvest pakken");
            }
            if (sp.Skies == null)
            {
                throw new Exception("Je moet nog een skies pakken");
            }



            if (!_kabel.IsStartPositieLeeg())
            {
                return;
            }
            Random rand = new Random();

            sp.AantalRondenNogTeGaan = rand.Next(1, 2);

            List <Color> list = new List <Color>()
            {
                Color.Blue, Color.Green, Color.Red, Color.Yellow
            };

            sp.KledingKleur = list[rand.Next(0, 3)];


            Lijn _lijn = _lijnenVoorraad.VerwijderEersteLijn();

            _lijn.Sporter = sp;
            _kabel.NeemLijnInGebruik(_lijn);
        }
示例#2
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();
                    }
                }
            }
        }
示例#3
0
        private static void TestOpracht()
        {
            Sporter      sporter      = new Sporter();
            Waterskibaan waterskibaan = new Waterskibaan();

            waterskibaan.SporterStart(sporter);
        }
示例#4
0
 public void SporterNeemPlaatsInRij(Sporter sporter)
 {
     if (CheckAantal(Queue.Count + 1))
     {
         Queue.Enqueue(sporter);
     }
 }
示例#5
0
 public void SporterNeemPlaatsInRij(Sporter sporter)
 {
     if (_queue.Count < MAX_LENGTE_RIJ)
     {
         _queue.Enqueue(sporter);
     }
 }
示例#6
0
        public void SporterStart(Sporter sp)
        {
            if (sp == null)
            {
                return;
            }
            if (sp.Zwemvest != null && sp.Skies != null)
            {
                if (Kabel.IsStartPositieLeeg())
                {
                    Lijn newLine = LijnenVoorraad.VerwijderEersteLijn();
                    var  R       = new Random();
                    int  Rounds  = R.Next(1, 3);

                    //Give random amount of laps
                    sp.AantalRondenNogTeGaan = Rounds;

                    if (newLine == null)
                    {
                        return;
                    }
                    newLine.Sporter = sp;

                    // Add line to cable
                    Kabel.NeemLijnInGebruik(newLine);
                }
            }
            else
            {
                throw new ArgumentNullException("Geen zwemvest en skies");
            }
        }
 public override void SporterNeemPlaatsInRij(Sporter sporter)
 {
     if (sporters.Count() < MAX_LENGTE_RIJ)
     {
         sporters.Enqueue(sporter);
     }
 }
示例#8
0
        public void SporterStart(Sporter sp)
        {
            if (sp.Skies != null && sp.Zwemvest != null && p.IsStartPositieLeeg())
            {
                Random r       = new Random();
                int    rondjes = r.Next(2);

                if (rondjes == 1)
                {
                    sp.AantalRondenNogTeGaan = 2;
                }
                else
                {
                    sp.AantalRondenNogTeGaan = 1;
                }

                Lijn l = voorraad.VerwijderEersteLijn();
                p.NeemLijnInGebruik(l);

                l.Sp = sp;
                l.Addsporter(sp);
            }

            else
            {
                throw new System.Exception("Sporter heeft geen skies of zwemvest aan");
            }
        }
示例#9
0
 public void SporterNeemPlaatsInRij(Sporter sporter)
 {
     if (Queue.Count < MaxLengteRij)
     {
         Queue.Enqueue(sporter);
     }
 }
示例#10
0
        private void OnTimedEvent(Object source, EventArgs e)
        {
            totalSecondsPassed++;

            if (totalSecondsPassed % 3 == 0)
            {
                zwemvest = new Zwemvest();
                skies    = new Skies();
                sporter  = new Sporter(zwemvest, skies);

                NieuweBezoeker.Invoke(new NieuweBezoekerArgs(sporter));
            }

            if (totalSecondsPassed % 2 == 0)
            {
                verplaatsLijnen.Invoke();
            }

            if (totalSecondsPassed % 8 == 0)
            {
                List <Sporter> alleWachtendeSporters = wi.SportersVerlaten(wi.GetAlleSporters().Count);
                instructieAfgelopen.Invoke(new InstructieAfgelopenArgs(alleWachtendeSporters));
            }

            Console.WriteLine(ToString());
        }
        // Initialiseert de sporter en laat hem een paar rondjes gaan
        public void SporterStart(Sporter sp)
        {
            Lijn lijn = lijnenVoorraad.VerwijderEersteLijn();

            if (lijn != null)
            {
                sp.Lijn = lijn;
                lijn.sp = sp;
                kabel.NeemLijnInGebruik(lijn, lijnenVoorraad);
            }

            Random rand          = new Random(DateTime.Now.Millisecond);
            int    randomRondjes = rand.Next(1, 3);

            sp.AantalRondenNogTeGaan = randomRondjes;


            int a = rand.Next(0, 255);
            int r = rand.Next(0, 255);
            int g = rand.Next(0, 255);
            int b = rand.Next(0, 255);

            sp.KledingKleur = Color.FromArgb(a, r, g, b);


            if (sp.Zwemvest == null)
            {
                sp.Zwemvest = new Zwemvest();
            }

            if (sp.Skies == null)
            {
                sp.Skies = new Skies();
            }
        }
示例#12
0
        private static void TestOpdracht10()
        {
            WachtrijInstructie wachtrijInstructie = new WachtrijInstructie();
            InstructieGroep    instructieGroep    = new InstructieGroep();
            WachtrijStarten    wachtrijStarten    = new WachtrijStarten();

            Sporter sp1 = new Sporter(MoveCollection.GetWillekeurigeMoves());
            Sporter sp2 = new Sporter(MoveCollection.GetWillekeurigeMoves());
            Sporter sp3 = new Sporter(MoveCollection.GetWillekeurigeMoves());

            Console.WriteLine(wachtrijInstructie.ToString());
            wachtrijInstructie.SporterNeemPlaatsInRij(sp1);
            wachtrijInstructie.SporterNeemPlaatsInRij(sp2);
            Console.WriteLine(wachtrijInstructie.ToString());
            wachtrijInstructie.SporterNeemPlaatsInRij(sp3);
            Console.WriteLine(wachtrijInstructie.ToString());

            Console.WriteLine(instructieGroep.ToString());
            instructieGroep.SporterNeemPlaatsInRij(sp1);
            instructieGroep.SporterNeemPlaatsInRij(sp2);
            Console.WriteLine(instructieGroep.ToString());
            instructieGroep.SporterNeemPlaatsInRij(sp3);
            Console.WriteLine(instructieGroep.ToString());

            Console.WriteLine(wachtrijStarten.ToString());
            wachtrijStarten.SporterNeemPlaatsInRij(sp1);
            wachtrijStarten.SporterNeemPlaatsInRij(sp2);
            Console.WriteLine(wachtrijStarten.ToString());
            wachtrijStarten.SporterNeemPlaatsInRij(sp3);
            Console.WriteLine(wachtrijStarten.ToString());
        }
示例#13
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++;
 }
示例#14
0
        static void TestOpdracht8()
        {
            Sporter sporter1 = new Sporter(MoveCollection.GetWillekeurigeMoves());
            Sporter sporter2 = new Sporter(MoveCollection.GetWillekeurigeMoves())
            {
                Zwemvest = new Zwemvest(),
                Skies    = new Skies()
            };
            WaterskibaanProgram waterskibaan = new WaterskibaanProgram();


            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Opdracht 8:");
            Console.ResetColor();

            foreach (Sporter s in new Sporter[] { sporter1, sporter2 })
            {
                try
                {
                    waterskibaan.SporterStart(s);
                }
                catch (Exception)
                {
                    Console.WriteLine("Geen Zwemvest of Skies");
                }
            }

            Console.WriteLine("");
        }
 public void SporterNeemtPlaats(Sporter sporter)
 {
     if (queu.Count >= MAX_LENGTE_RIJ)
     {
         return;
     }
     queu.Enqueue(sporter);
 }
示例#16
0
        private static void TestOpdracht5()
        {
            Zwemvest zwemvest = new Zwemvest();
            Skies    skies    = new Skies();
            Sporter  sporter  = new Sporter(zwemvest, skies);

            Console.WriteLine(sporter.ToString());
        }
示例#17
0
 public void BezoekerToevoegen(Sporter sporter)
 {
     bezoekers.Add(sporter);
     if (ColorsAreClose(sporter.KledingKleur, Color.Red))
     {
         bezoekerMetRood++;
     }
 }
示例#18
0
文件: Logger.cs 项目: TCms0/Waterski
 public void AddList(Sporter sp)
 {
     bezoekers.Add(sp);
     if (ColorsAreClose(sp.KledingKleur, Color.Red))
     {
         bezoekerMetRood++;
     }
 }
示例#19
0
        private static void TestOpdracht8()
        {
            //Waterskibaan w = new Waterskibaan();
            Sporter s = new Sporter(Movecollection.GetWillekeurigeMoves());

            //s.Zwemvest = new Zwemvest();
            //s.Skies = new Skies();

            //w.SporterStart(s);
        }
示例#20
0
 // Voegt de geleverde sporter in de bijbehorende queue
 public void SporterNeemPlaatsInRij(Sporter sporter)
 {
     if (sporters.Count() < MAX_LENGTE_RIJ)
     {
         sporters.Enqueue(sporter);
     }
     else
     {
         Console.WriteLine("De wachtrij is vol");
     }
 }
示例#21
0
        private void HandleNewVisitor()
        {
            var visitor = new Sporter(MoveCollection.GetWillekeurigeMoves());
            var args    = new NieuweBezoekerArgs()
            {
                Sporter = visitor
            };

            logger.AddVisitor(visitor);
            NieuweBezoeker?.Invoke(args);
        }
示例#22
0
 private void BijNieuweBezoeker(object source, EventArgs e)
 {
     if (tickCount % 3 == 0)
     {
         Sporter sporternu = new Sporter();
         logger.sporters.Add(sporternu);
         NieuweBezoeker?.Invoke(new NieuweBezoekersArgs {
             Sporter = sporternu
         });
     }
 }
        // Test of de sporter z'n zwemvest en skies heeft
        static void TestOpdracht8()
        {
            Sporter      sporter1     = new Sporter(MoveCollection.GetWillekeurigeMoves(5));
            Sporter      sporter2     = new Sporter(MoveCollection.GetWillekeurigeMoves(5));
            Waterskibaan waterskibaan = new Waterskibaan(new LijnenVoorraad());

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

            waterskibaan.SporterStart(sporter1);
        }
示例#24
0
        public void TestOpdracht8()
        {
            List<IMoves> list = MoveCollection.GetWillekeurigeMoves();
            Sporter sporterTest = new Sporter(list);

            this.SporterStart(sporterTest);

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

            this.SporterStart(sporterTest);
        }
 public override void SporterNeemPlaatsInRij(Sporter sporter)
 {
     if (GetAlleSporters().Count < MAX_LENGTE_RIJ)
     {
         alleSporters.Enqueue(sporter);
         Console.WriteLine($"Sporter succesvol toegevoegd!");
     }
     else
     {
         Console.WriteLine("Het zit vol! Sporter is niet toegevoegd");
     }
 }
示例#26
0
 public void SporterStart(Sporter sp)
 {
     if (Kabel.IsStartPositieLeeg() && sp.Skies != null && sp.Zwemvest != null)
     {
         Lijn lijn = lijnVoorraad.VerwijderEersteLijn();
         lijn.Sporter = sp;
         Kabel.NeemLijnInGebruik(lijn);
         sp.AantalRondenNogTeGaan = random.Next(1, 5);
         //Console.WriteLine("je hebt al het materiaal om te beginnen!");
     } else if(sp.Skies == null || sp.Zwemvest == null) {
         Console.WriteLine("Je hebt skies en een zwemvest nodig!");
     }
 }
示例#27
0
        public void SporterStart(Sporter sp)
        {
            Random rnd = new Random();

            Kabel.NeemLijnInGebruik(LijnenVoorraad.VerwijderEersteLijn());
            sp.AantalRondenNogTeGaan = rnd.Next(1, 3);

            if (sp.Skies == null || sp.Zwemvest == null)
            {
                Exception e = new Exception();
                throw e;
            }
        }
示例#28
0
        private void WachtrijLoop(object sender, ElapsedEventArgs e)
        {
            Random R           = new Random();
            Color  randomColor = Color.FromArgb(255, R.Next(256), R.Next(256), R.Next(256));

            Sporter s = new Sporter(Movecollection.GetWillekeurigeMoves())
            {
                Skies        = new Skies(),
                Zwemvest     = new Zwemvest(),
                KledingKleur = randomColor
            };

            NieuweBezoeker?.Invoke(new NieuweBezoekerArgs(s));
        }
示例#29
0
        public string AlleHuidigeMoves()
        {
            string namenMoves = "";

            foreach (Lijn lijn in Kabel.GetLijnen())
            {
                Sporter sporter = lijn.Sporter;
                if (sporter.HuidigeMove != null)
                {
                    namenMoves += ($"- {sporter.HuidigeMove.ToString()}\n");
                }
            }
            return(namenMoves);
        }
示例#30
0
 public void SporterStart(Sporter sporter)
 {
     if (kabel.IsStartPositieLeeg() && voorraad.GetAantalLijnen() != 0)
     {
         Lijn lijn1 = voorraad.VerwijderEersteLijn();
         lijn1.Sporter = sporter;
         kabel.NeemLijnInGebruik(lijn1);
         Random rnd = new Random();
         sporter.AantalRondenNogTeGaan = rnd.Next(1, 3);
     }
     if (sporter.Skies == null || sporter.Zwemvest == null)
     {
         throw new Exception("de Sporter heeft geen zwemvest of skie!");
     }
 }