11 Ocak 2014 Cumartesi

C Sharp Form Uygulamalar Şampiyonlar Ligi Grup Oluşturma Algoritması



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form uygulamalar 32 takımdan rastgele 8 takımlı 4 torba oluşturma ve oluşturulan 4 torbadan rastgele 8 farklı grup oluşturma. Bu gruplarda aynı ülkeden sadece bir takım olabilir.
ETİKETLER: c sharp groupbox - c sharp grouper - c sharp random - c sharp rastgele - c sharp form - c# random





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace C_Sharp_Form_Champions_League_Group
{
    public partial class Form1 : Form
    {
        List takimlar;

        List torbalar = new List();
        List gruplar = new List();
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Yeni takımları oluşturmak için bir tane Team sınıfından nesne oluşturalım
            Takim yeniTakim = null;

            //oluşturduğum takımları listede tutmak için bir tane Team tipinde jenerik liste oluşturalım
            takimlar = new List();

            //Burada takımları ve ülkeri ile birlikten takımlar listesine ekleyelim

            yeniTakim = new Takim("Bayern Münih", "Almanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("FC Barcelona", "İspanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Chelsea", "İngiltere");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Real Madrid", "İspanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Manchester United", "İngiltere");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Arsenal", "İngiltere");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("FC Porto", "Portekiz");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("S.L. Benfica", "Portekiz");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Atletico Madrid", "İspanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Shakhtar Donetsk", "Ukrayna");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("AC Milan", "İtalya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Schalke 04", "Almanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Marsilya", "Fransa");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("CSKA Moskova", "Rusya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Paris Saint-Germain", "Fransa");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Juventus", "İtalya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Zenit St. Petersburg", "Rusya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Manchester City", "İngiltere");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Ajax", "Hollanda");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Borussia Dortmund", "Almanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("FC Basel", "İsviçre");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Olympiakos", "Yunanistan");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Galatasaray", "Türkiye");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Bayer Leverkusen", "Almanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("FC København", "Danimarka");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Napoli", "İtalya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Anderlecht", "Belçika");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Celtic", "İskoçya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Steaua Bükreş", "Romanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Viktoria Plzen", "Çek Cumhuriyeti");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Real Sociedad", "İspanya");
            takimlar.Add(yeniTakim);
            yeniTakim = new Takim("Austria Wien", "Avusturya");
            takimlar.Add(yeniTakim);
        }

        private void btnTorbalariOlustur_Click(object sender, EventArgs e)
        {
            Random rastgele = new Random();

            List secilenTakimlar = new List();

            for (int i = 0; i < takimlar.Count; i++)
            {
                int secilenTakim = rastgele.Next(0, takimlar.Count);

                if (secilenTakimlar.Contains(secilenTakim))
                {
                    i--;
                }
                else
                {
                    secilenTakimlar.Add(secilenTakim);
                }
            }

            for (int i = 0; i < secilenTakimlar.Count; i++)
            {
                if(i<8)
                {
                    lstTorba1.Items.Add(takimlar[secilenTakimlar[i]]);
                }
                else if (i < 16)
                {
                    lstTorba2.Items.Add(takimlar[secilenTakimlar[i]]);
                }
                else if (i < 24)
                {
                    lstTorba3.Items.Add(takimlar[secilenTakimlar[i]]);
                }
                else
                {
                    lstTorba4.Items.Add(takimlar[secilenTakimlar[i]]);
                }
            }

            torbalar.Add(lstTorba1);
            torbalar.Add(lstTorba2);
            torbalar.Add(lstTorba3);
            torbalar.Add(lstTorba4);

             gruplar.Add(lstGrup1);
            gruplar.Add(lstGrup2);
            gruplar.Add(lstGrup3);
            gruplar.Add(lstGrup4);
            gruplar.Add(lstGrup5);
            gruplar.Add(lstGrup6);
            gruplar.Add(lstGrup7);
            gruplar.Add(lstGrup8);
        }

        private void btnGruplariOlustur_Click(object sender, EventArgs e)
        {
            Random rastgele = new Random();

            List secilenTakimlar = new List();

            for (int j = 0; j < 4; j++)
            {
                secilenTakimlar.Clear();

                for (int i = 0; i < 8; i++)
                {
                    int secilenTakim = rastgele.Next(0, takimlar.Count / 4);

                    if (secilenTakimlar.Contains(secilenTakim))
                    {
                        i--;
                    }
                    else
                    {
                        secilenTakimlar.Add(secilenTakim);
                    }
                }

                bool ayniUlkedenTakimVar = false;

                for (int k = 0; k < 8; k++)
                {
                    ayniUlkedenTakimVar = AyniUlkeTakimiVarMi(gruplar[k], torbalar[j].Items[secilenTakimlar[k]] as Takim);

                    if (ayniUlkedenTakimVar)
                        break;
                }


                if (!ayniUlkedenTakimVar)
                {
                    lstGrup1.Items.Add(torbalar[j].Items[secilenTakimlar[0]] as Takim);
                    lstGrup2.Items.Add(torbalar[j].Items[secilenTakimlar[1]] as Takim);
                    lstGrup3.Items.Add(torbalar[j].Items[secilenTakimlar[2]] as Takim);
                    lstGrup4.Items.Add(torbalar[j].Items[secilenTakimlar[3]] as Takim);
                    lstGrup5.Items.Add(torbalar[j].Items[secilenTakimlar[4]] as Takim);
                    lstGrup6.Items.Add(torbalar[j].Items[secilenTakimlar[5]] as Takim);
                    lstGrup7.Items.Add(torbalar[j].Items[secilenTakimlar[6]] as Takim);
                    lstGrup8.Items.Add(torbalar[j].Items[secilenTakimlar[7]] as Takim);
                }
                else
                {
                    j--;
                }
            }
        }

        private bool AyniUlkeTakimiVarMi(ListBox grup,Takim takim)
        {
            bool durum = false;

            for (int i = 0; i < grup.Items.Count; i++)
            {
                Takim grupTakim = grup.Items[i] as Takim;
                if (grupTakim.TeamCountry == takim.TeamCountry)
                {
                    durum = true;
                    break;
                }
            }
            return durum;
        }
    }
}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C_Sharp_Form_Champions_League_Group
{
    class Takim
    {
        private string takimIsmi;
        private string takimUlke;

        public Takim(string isim, string ulke)
        {
            takimIsmi = isim;
            takimUlke = ulke;
        }

        public string TeamName 
        {
            get
            {
                return takimIsmi;
            }
            set
            {
                takimIsmi = value;
            }
        }

        public string TeamCountry 
        {
            get
            {
                return takimUlke;
            }
            set
            {
                takimUlke = value;
            }
        }

        public override string ToString()
        {
            return takimIsmi + "-" + takimUlke;
        }
    }
}

UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder