public static string[,] Add(string[,] array, int adet)
{
int newLength = array.GetLength(0) + adet;
string[,] result = new string[newLength, 2];
for (int i = 0; i < array.GetLength(0); i++)
{
result[i, 0] = array[i, 0];
result[i, 1] = array[i, 1];
}
return result;
}
Bir de seçilen maçın bir daha seçilmemesi için gereken metodu tanımlayalım.
public static bool[] sifirla(int deger)
{
bool[] s = new bool[deger];
for (int i = 0; i < deger; i++)
s[i] = false;
return s;
}
Artık fikstür ayarlamasını yapabiliriz.
p = q = 0;
int sat = 0;
secim = sifirla(max);
do
{
do
{
sat = rastgele.Next(0, m.GetLength(0));
if (secim[sat] == false)
{
secim[sat] = true;
break;
}
else
{
int d = 0;
for (int i = 0; i < secim.Length; i++)
{
if (secim[i] == true)
{
d++;
}
}
if (d == secim.Length)
{
sat = m.GetLength(0) + 1;
break;
}
continue;
}
} while (true);
if (sat > m.GetLength(0) - 1)
{
Array.Clear(mYedek, 0, mYedek.Length);
Array.Clear(m, 0, m.Length);
Array.Clear(fikstur, 0, fikstur.Length);
p = q = 0;
m = mDepo;
secim = sifirla(m.GetLength(0));
}
if (Search(p, takimlar, m[sat, 0], m[sat, 1], mYedek))
{
if (p % 2 != 0)
{
string ara;
ara = m[sat, 0];
m[sat, 0] = m[sat, 1];
m[sat, 1] = ara;
}
mYedek[q, 0] = m[sat, 0];
mYedek[q, 1] = m[sat, 1];
m = TrimArray(sat, m);
q++;
secim = sifirla(m.GetLength(0));
}
if (q == hafta) // haftada oynanacak maç sayısı
{
for (int i = 0; i < mYedek.GetLength(0); i++)
{
fikstur[p, i, 0] = mYedek[i, 0];
fikstur[p, i, 1] = mYedek[i, 1];
}
Array.Clear(mYedek, 0, mYedek.Length);
q = 0;
secim = sifirla(m.GetLength(0));
p++;
}
} while (m.GetLength(0) != 0);
int ilk = 0;
for (int i = toplam / 2; i < toplam; i++)
{
for (int j = 0; j < hafta; j++)
{
fikstur[i, j, 0] = fikstur[ilk, j, 1];
fikstur[i, j, 1] = fikstur[ilk, j, 0];
}
ilk++;
}
Şimdi de mini ligimize ait takımların ilk yarı maç listesini görüntüleyelim.
for (int i = 0; i < toplam; i++)
{
Console.WriteLine("\n{0}. Hafta Maçları", (i + 1));
Console.WriteLine(new string('─', 30));
for (int j = 0; j < hafta; j++)
{
Console.Write(String.Format("{0,15} - {1,-15}\n", fikstur[i, j, 0], fikstur[i, j, 1]));
}
}
Projeyi kaydedip çalıştırdığımızda aşağıdaki pencere ekrana gelir.
Fikstür çekilişimiz tamam. Bir sonraki derslerde hafta hafta maçların oynanması işlemini yapmaya çalışacağız. Makalemizi paylaşırsanız sevinirim.