Bu uygulamamızda süper lig takımlarından 4 tanesinin kendi aralarında oynayacakları mini bir lig oluşturacağız. İleride ise, bu uygulama baz alınarak, tüm lig için uygulamayı yapmaya çalışacağız. En basit anlamda böyle bir lig oluşturmak için aşağıdaki adımlar takip edilmelidir.
a) Takımların belirlenmesi
b) Kuraların çekilmesi
c) Maçların oynanması ve skorların belirlenmesi
d) Her hafta oyanan maçlara göre puan durumunun belirlenmesi
Önceliikle bu işlemleri sabit değerler üzerinden yapacağız. Daha sonra yapılan işlemlerin algoritmasını anlayarak işlemleri dinamik hale getirmeye çalışacağız. Şimdi bu işlemleri sabit değerler üzerinden yapmaya çalışalım.
Mini lig için takımlarımız Galatasaray, Fenerbahçe, Beşiktaş ve Trabzonspor olsun. Tabi siz başka takımlarda belirleyebilirsiniz. Tercih sizin. Ben mini ligi bu takımlar arasında kuracağım.
Takımlar için kendi aralarında yapacakları maçları belirleyelim.
1. Hafta Maçları
Galatasaray – Fenerbahçe
Trabzonspor – Beşiktaş
2. Hafta Maçları
Fenerbahçe – Trabzonspor
Beşiktaş – Galatasaray
3. Hafta Maçları
Galatasaray – Trabzonspor
Fenerbahçe – Beşiktaş
Bu maçlardan sonra mini ligimizin ilk yarısı bitecek. İkinci yarı maçlarında ise, ev sahibi takım deplasmanda, deplasmandaki takım ise ev sahibi olarak yazılacaktır.
4. Hafta Maçları
Fenerbahçe - Galatasaray
Beşiktaş - Trabzonspor
5. Hafta Maçları
Trabzonspor - Fenerbahçe
Galatasaray - Beşiktaş
6. Hafta Maçları
Trabzonspor - Galatasaray
Beşiktaş - Fenerbahçe
Şimdi de maçları oynayıp puan durumlarını belirleyelim.
1. Hafta Maç Sonuçları
Galatasaray 1 – 2 Fenerbahçe
Trabzonspor 1 – 0 Beşiktaş
Oynanan bu maçlara göre puan durumunu yazaılım. Galip gelen takım 3 puan, mağlup olan takım 0 puan, beraberlik halinde her iki takım birer puan alacaktır. Buna göre puan durumunu belirleyelim.
#
|
Takımlar
|
O
|
G
|
B
|
M
|
A
|
Y
|
AV
|
P
|
1
|
Fenerbahçe
|
1
|
1
|
0
|
0
|
2
|
1
|
1
|
3
|
2
|
Trabzonspor
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
3
|
3
|
Galatasaray
|
1
|
0
|
0
|
1
|
1
|
2
|
-1
|
0
|
4
|
Beşiktaş
|
1
|
0
|
0
|
1
|
0
|
1
|
-1
|
0
|
2. Hafta Maç Sonuçları
Fenerbahçe 0 – 0 Trabzonspor
Beşiktaş 1 – 0 Galatasaray
Puan durumu şöyle olacaktır.
#
|
Takımlar
|
O
|
G
|
B
|
M
|
A
|
Y
|
AV
|
P
|
1
|
Fenerbahçe
|
2
|
1
|
1
|
0
|
2
|
1
|
1
|
4
|
2
|
Trabzonspor
|
2
|
1
|
1
|
0
|
1
|
0
|
1
|
4
|
3
|
Beşiktaş
|
2
|
1
|
0
|
1
|
1
|
1
|
0
|
3
|
4
|
Galatasaray
|
2
|
0
|
0
|
2
|
1
|
3
|
-2
|
0
|
3. Hafta Maç Sonuçları
Galatasaray 2 – 0 Trabzonspor
Fenerbahçe 0 – 1 Beşiktaş
Puan durumu şöyle olacaktır.
#
|
Takımlar
|
O
|
G
|
B
|
M
|
A
|
Y
|
AV
|
P
|
1
|
Beşiktaş
|
3
|
2
|
0
|
1
|
2
|
1
|
1
|
6
|
2
|
Fenerbahçe
|
3
|
1
|
1
|
1
|
2
|
2
|
0
|
4
|
3
|
Trabzonspor
|
3
|
1
|
1
|
1
|
1
|
2
|
-1
|
4
|
4
|
Galatasaray
|
3
|
1
|
0
|
2
|
3
|
3
|
0
|
3
|
Bu maçlardan sonra mini ligimizin ilk yarısı bitti. Görüldüğü gibi, ilk yarının lideri Beşiktaş olmuştur. İkinci yarı maç sonuçlarını ve puan durumlarını siz yazabiliriniz. Biz burada sabit yapılan işlemleri bitireceğiz. Yukarıda verilen bilgilere göre sistemin işleyişine ait algoritmayı umarım kavramışsınızdır.
Kuralar ve lig maçlarına ait sonuçlar bilgisayar tarafından rastgele belirlenecektir. Her hafta oynanan maçların skorları yazılacak ve skorlara göre puan durumu ekranda görüntülenecektir. Ligi şampiyon olarak tamamlayan takımın marşı altıncı haftanın sonunda çaldırılacaktır. Uygulamamızı yapmaya başlayalım.
Visual Studio programını açalım.
Yeni bir Console uygulaması ekleyelim. Uygulamanın adını CemilUstaLigi olarak belirleyelim. Uygulama dilini ise c# olarak seçelim.
Öncelikle uygulamayı her çalıştırmada pencerenin beklemesi için aşağıdaki kodu yazalım. Unutmayalım bu kod kodların en son satırında olacaktır.
Console.ReadLine();
Penceremizin başlığını belirlemek için aşağıdaki kodu yazalım.
Console.Title = "Mini Süper Lig Turnuvası";
Daha sonra uygulamanın başlığını belirlemek için aşağıdaki kodu yazalım.
Console.WriteLine("2019 Cemil Usta Mini Süper Ligi");
Nasıl gidiyor kodlama işi. Şimdiden 3 komut yazdık bile. Projemizi kaydedip çalıştıralım. Aşağıdaki pencere ekrana gelir.

Devam edelim kodlama işlemine. 1. Haftaya ait başlığı belirleyelim.
Console.WriteLine("1. Hafta Maç Sonuçları");
İlk maç sonucunun ekranda görüntülenmesi için gerekli kodu yazalım. Maç sonuçlarını göstermek için değişik gösterim biçimleri olmasına rağmen ben en yaygın olanı kullanacağım.
Galatasaray 1 – 2 Fenerbahçe
Console.WriteLine("Galatasaray 1 – 2 Fenerbahçe");
Yukarıdaki formatta maç sonucunu göstermek için gerekli kodu yazalım. Diğer maç için de maç sonucunu gösterelim.
Trabzonspor 1 – 0 Beşiktaş
Console.WriteLine("Trabzonspor 1 – 0 Beşiktaş");
Nasıl. 3 kodla ligin birinci haftasına ait maç sonuçlarını gösteriverdik. Bu maçların sonuçlarına göre puan durumunu yazalım.
#
|
Takımlar
|
O
|
G
|
B
|
M
|
A
|
Y
|
AV
|
P
|
1
|
Fenerbahçe
|
1
|
1
|
0
|
0
|
2
|
1
|
1
|
3
|
2
|
Trabzonspor
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
3
|
3
|
Galatasaray
|
1
|
0
|
0
|
1
|
1
|
2
|
-1
|
0
|
4
|
Beşiktaş
|
1
|
0
|
0
|
1
|
0
|
1
|
-1
|
0
|
Yukarıda verilen tabloya ait başlık satırını yazalım.
Console.WriteLine("1. Hafta Puan Durumu");
Tablonun alt başlıklarını oluşturalım.
Console.WriteLine("# Takımlar O G B M A Y AV P");
Console.WriteLine("1 Fenerbahçe 1 1 0 0 2 1 1 3");
Console.WriteLine("2 Trabzonspor 1 1 0 0 1 0 1 3");
Console.WriteLine("3 Galatasaray 1 0 0 1 1 2 -1 0");
Console.WriteLine("4 Beşiktaş 1 0 0 1 0 1 -1 0");
Şimdi ikinci hafta sonuçlarını verelim.
Console.WriteLine("2. Hafta Maç Sonuçları");
Console.WriteLine("Fenerbahçe 0 – 0 Trabzonspor");
Console.WriteLine("Beşiktaş 1 – 0 Galatasaray");
Yeni puan durumunu görüntüleyelim.
Console.WriteLine("2. Hafta Puan Durumu");
Console.WriteLine("# Takımlar O G B M A Y AV P");
Console.WriteLine("1 Fenerbahçe 2 1 1 0 2 1 1 4");
Console.WriteLine("2 Trabzonspor 2 1 1 0 1 0 1 4");
Console.WriteLine("3 Beşiktaş 2 1 0 1 1 1 0 3");
Console.WriteLine("4 Galatasaray 2 0 0 2 1 3 -2 0");
Şimdi de üçüncü hafta sonuçlarını verelim.
Console.WriteLine("3. Hafta Maç Sonuçları");
Console.WriteLine("Galatasaray 2 – 0 Trabzonspor");
Console.WriteLine("Fenerbahçe 0 – 1 Beşiktaş");
Mini ligimize ait ilk yarı puan durumunu görüntüleyelim.
Console.WriteLine("3. Hafta Puan Durumu");
Console.WriteLine("# Takımlar O G B M A Y AV P");
Console.WriteLine("1 Beşiktaş 3 2 0 1 2 1 1 6");
Console.WriteLine("2 Fenerbahçe 3 1 1 1 2 2 0 4");
Console.WriteLine("3 Trabzonspor 3 1 1 1 1 2 -1 4");
Console.WriteLine("4 Galatasaray 3 1 0 2 3 3 0 3");
Vakitte ne kadar çabuk geçiyor. Ligin ilk yarısı bitti. İlk yarı lideri Beşiktaş oldu. Programa ait son ekran görüntüsü aşağıdaki gibi olacaktır.
Verdiğimiz maç sonuçları örnek gösterimdi. Şimdi yukarıdaki sonuçlara bakarak hangi değişkenleri tanımlamamız gerektiğini bulmaya çalışalım. Fikri olan arkadaşlar yorumlar kısmından fikirlerini bizimle paylaşabilir.