Exemple #1
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);
            }
        }
Exemple #2
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);
                }
            }
        }