Beispiel #1
0
        /// <summary>
        /// Generowanie fina³ów
        /// </summary>
        /// <param name="sport">Parametr okreœlaj¹cy sport, dla którego s¹ generowane fina³y</param>
        public void GenerujFinaly(Sporty sport)
        {
            listaSedziow.Sort(new SedziaComparer());
            switch (sport)
            {
            case Sporty.Siatkowka:
            {
                List <Mecz> listaMeczowPolfinalowych = listaMeczy.Where(m => m.GetStopienMeczu() == (int)StopienMeczu.MeczPolfinalowy && m.GetDruzyny()[0] is DruzynaSiatkowka).ToList();
                Druzyna     d1, d2;
                d1 = listaMeczowPolfinalowych[0].GetWynik()[0] > listaMeczowPolfinalowych[0].GetWynik()[1] ? listaMeczowPolfinalowych[0].GetDruzyny()[0] : listaMeczowPolfinalowych[0].GetDruzyny()[1];
                d2 = listaMeczowPolfinalowych[1].GetWynik()[0] > listaMeczowPolfinalowych[1].GetWynik()[1] ? listaMeczowPolfinalowych[1].GetDruzyny()[0] : listaMeczowPolfinalowych[1].GetDruzyny()[1];
                DodajMecz(new MeczSiatkowki(d1, d2, listaSedziow[0], (int)StopienMeczu.MeczFinalowy, listaSedziow[1], listaSedziow[2]));
                break;
            }

            case Sporty.PrzeciaganieLiny:
            {
                List <Mecz> listaMeczowPolfinalowych = listaMeczy.Where(m => m.GetStopienMeczu() == (int)StopienMeczu.MeczPolfinalowy && m.GetDruzyny()[0] is DruzynaPrzeciaganieLiny).ToList();
                Druzyna     d1, d2;
                d1 = listaMeczowPolfinalowych[0].GetWynik()[0] > listaMeczowPolfinalowych[0].GetWynik()[1] ? listaMeczowPolfinalowych[0].GetDruzyny()[0] : listaMeczowPolfinalowych[0].GetDruzyny()[1];
                d2 = listaMeczowPolfinalowych[1].GetWynik()[0] > listaMeczowPolfinalowych[1].GetWynik()[1] ? listaMeczowPolfinalowych[1].GetDruzyny()[0] : listaMeczowPolfinalowych[1].GetDruzyny()[1];
                DodajMecz(new Mecz(d1, d2, listaSedziow[0], (int)StopienMeczu.MeczFinalowy));
                break;
            }

            case Sporty.DwaOgnie:
            {
                List <Mecz> listaMeczowPolfinalowych = listaMeczy.Where(m => m.GetStopienMeczu() == (int)StopienMeczu.MeczPolfinalowy && m.GetDruzyny()[0] is DruzynaDwaOgnie).ToList();
                Druzyna     d1, d2;
                d1 = listaMeczowPolfinalowych[0].GetWynik()[0] > listaMeczowPolfinalowych[0].GetWynik()[1] ? listaMeczowPolfinalowych[0].GetDruzyny()[0] : listaMeczowPolfinalowych[0].GetDruzyny()[1];
                d2 = listaMeczowPolfinalowych[1].GetWynik()[0] > listaMeczowPolfinalowych[1].GetWynik()[1] ? listaMeczowPolfinalowych[1].GetDruzyny()[0] : listaMeczowPolfinalowych[1].GetDruzyny()[1];
                DodajMecz(new Mecz(d1, d2, listaSedziow[0], (int)StopienMeczu.MeczFinalowy));
                break;
            }

            default:
                break;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Generowanie pó³fina³ów dla sportów
        /// </summary>
        /// <param name="sport">Parametr okreœlaj¹cy sport, dla którego s¹ generowane pó³fina³y</param>
        public void GenerujPolfinaly(Sporty sport)
        {
            listaDruzyn.Sort(new DruzynaComparer());
            listaSedziow.Sort(new SedziaComparer());

            int     liczbaDodanych = 0;
            Druzyna d1             = null;

            foreach (var druzyna in listaDruzyn)
            {
                switch (sport)
                {
                case Sporty.Siatkowka:
                {
                    if (druzyna is DruzynaSiatkowka && d1 == null)
                    {
                        d1 = druzyna;
                    }
                    else if (druzyna is DruzynaSiatkowka)
                    {
                        DodajMecz(new MeczSiatkowki(d1, druzyna, listaSedziow[0], (int)StopienMeczu.MeczPolfinalowy, listaSedziow[1], listaSedziow[2]));
                        d1 = null;
                        ++liczbaDodanych;
                    }
                    break;
                }

                case Sporty.PrzeciaganieLiny:
                {
                    if (druzyna is DruzynaPrzeciaganieLiny && d1 == null)
                    {
                        d1 = druzyna;
                    }
                    else if (druzyna is DruzynaPrzeciaganieLiny)
                    {
                        DodajMecz(new Mecz(d1, druzyna, listaSedziow[0], (int)StopienMeczu.MeczPolfinalowy));
                        d1 = null;
                        ++liczbaDodanych;
                    }
                    break;
                }

                case Sporty.DwaOgnie:
                {
                    if (druzyna is DruzynaDwaOgnie && d1 == null)
                    {
                        d1 = druzyna;
                    }
                    else if (druzyna is DruzynaDwaOgnie)
                    {
                        DodajMecz(new Mecz(d1, druzyna, listaSedziow[0], (int)StopienMeczu.MeczPolfinalowy));
                        d1 = null;
                        ++liczbaDodanych;
                    }
                    break;
                }

                default:
                    break;
                }
                if (liczbaDodanych == 4)
                {
                    return;
                }
            }
        }