FUTBOL LİGLERİ İZLEME PROGRAMI

Program dökümü: FUTBOL/A

COMMODORE 64 BİLGİSAYAR: DİLİ BASIC

Yirminci yüzyıl birçok şeyle birlikte insanlığı bir futbol hastalığına sürükledi. Yurdumuzda da her hafta sonu yüzbinlerce kişi tribünlerde, milyonlarca kişi de televizyon karşısında futbolla içiçe oluyor. Takımların hasta taraftarları yağmur, kar demeden şehir şehir dolaşıyorlar. Basınımız her gün iki sayfaya yaklaşan spor sayfalarının neredeyse tümünü futbola ayırıyor. Kısaca futbol, yaşamımızın bir parçası oldu.

Bu program futbol liglerinin izlenmesi amacıyla hazırlanmıştır. Programın dosya oluşturabilmesi, birden çok futbol ligi için kullanılmasına olanak sağlıyor. Çeşitli açılardan takımların durumu incelenebiliyor. Puan durumu ve çeşitli istatistiksel bilgi veriyor. Programın kullanılması son derece kolay... Tek yapılacak, istekler doğrultusunda bilgisayarın sorularını yanıtlamak. Disket üzerinde yalnızca maçların haftaları ve sonuçları kaydedildiği için çok yer tutmaz. Birinci ve ikinci ligler (4 grup) yükleneceği hesaplanırsa disketin bir tarafı 6 yıl süreyle kullanılabilir. (Eğer disketin ömrü yeterse ve ilginiz sürüyorsa!..) Böylece eski yıllar da gerektiğinde incelenebilir.

Programın içeriği

Program FUTBOL/A adı altında kayıtlıdır. Yüklenmesi: LOAD"FUTBOL/A",8 komutuyla yapılır. RUN edilince aşağıdaki ekran çıkar ve yıl sorulur. Diyelim bu sezon için yıl 86/87 şeklinde verilir. Daha sonra hangi ligle çalışılacağı sorulur. 1. lig için 1, ikinci lig A grubu için 2A vs. şeklinde soru yanıtlanır.

İlk menü ekrana çıkar.

SEZON BAŞI olarak verilen işlemler yılda bir kez yapılır ve verilen bilgiler bütün yıl boyunca kullanılır.

1: TAKIMLAR- Takımların sayısı ve isimleri girilir. Program harf sırasına koyup 1.LIG/T-86/87 adı altında SEQ dosya olarak saklar. COMMODORE 64'te satırlardaki karakter sayısı 40 ile sınırlı olduğu için takım isimleri 11 karakter ile sınırlandırılmıştır.

2: TAKIMIN ŞEHRİ- Dış saha maçlarının belirlenebilmesi için takımların hangi şehre bağlı oldukları bilinmesi gerekir. Bu nedenle takımların şehirleri doğru olarak verilmelidir. Bu dosyada 1.LİG/R-86/87 adıyla SEQ dosya olarak saklanır.

3: FİKSTÜR- Yapılacak maçlar hafta hafta takımların numaraları yazılarak girilir. Gerekli bilgi her an ekran üzerinde olduğu için bu iş oldukça kolay olur. Hata anında son haftanın yeniden girilmesi olasıdır. Bu bölüm gazetelerde sezon başında yayınlanan listelerin kolayca kullanılmasını sağlayacak şekilde hazırlanmıştır. Fikstür tamamlandıktan sonra SEQ dosya olarak saklanır. Yıl boyunca maçların sonuçları girildikçe aynı dosyaya eklenir.

Bu işlemlerden sonra program o lig için bütün yıl boyunca kullanılmaya hazırdır. Eğer birden fazla lig için program kullanılacaksa aynı isimler

yinelenir. Bir lig için yapılacak sezonbaşı işleri yaklaşık yarım saat alır.

SEZON İÇİ için 4'e basılır, önce bilgiler yüklenir, hesaplar yapılır ve aşağıdaki MENÜ ekrana çıkar. Menü'nün ilk kısmı bilgi almak için, son kısmı da çeşitli komutlar için kullanılır.

1: TAKIM LİSTESİ

2: HAFTANIN MAÇLARI:

Maçlar sıralanır. Eğer soru belli ise sonuçlar da basılır.

3: HAFTANIN GOLLERİ:

Oynanan haftalarda toplam atılan gol sayıları listelenir.

4: PUAN DURUMU

5: TAKIMIN DURUMU:

Her takım için çeşitli bilgilerin dökümü yapılabilir.

6: GENEL DURUM:

İstatistik bilgi verilir.

7: SONUÇLARI GİR:

Hafta numarası verilince maçlar ekranda sıralanır ve bilgisayarınız sonuçları tek tek sorar. En sonunda da doğru olup olmadığını sorar, hata varsa sonuçlar yeniden girilir. Eğer doğruysa yeni puan durumu hazırlanır ve MENÜ gelir.

8: SON DURUMU SAKLA:

Oturumu kapatmadan önce son durum saklanmalıdır. Fikstürü ve sonuçları içeren dosya 1.LİG/F-86/87 adıyla saklanır. Ve aynı dosya bir de 1.LİG/F-X adıyla saklanır. Bunun sebebi programla ilgili kısımda açıklanacaktır.

9: YENİ DİSKETTE SAKLA:

Aynı bilgileri yeni bir diskete kaydedilecekse program bunu sağlar.

Programın açıklanması

Program genel olarak okuyucunun kolayca anlayabileceği şekilde yazılmıştır. Bir ana program ve 25 kadar subprogramdan oluşur. Toplam satır sayısı 300'den azdır. Bellekte yaklaşık 9KByte yer tutar. Programın önemli kısımları, satırları, değişkenleri satır numaralarıyla aşağıda açıklanmıştır.

100-450: Ana program, menüler ve subprogramları çağıran satırlardan oluşur.

470-2920: Subprogramlar.

Önemli değişkenler

TS: Takım sayısı.

TS(I): Takımların isimleri.

F(I,J,K): Fikstürün ve sonuçların saklandığı programın en önemli matrisi. I: takım no, J: takım no, K=0: maçın haftası, K=1: ilk takımın gol sayısı, K=2: ikinci takımın gol sayısı.

P(I,J,K): Puanların saklandığı matris. I: takım no, J: OGBMAYP, K=0 tüm maçlar, K=1: dış saha maçları.

A(I,J): Takımın averajı

TRS(I): Takımın şehri

HS: Yıldaki hafta sayısı

YIS: Yıl 86/87 gibi...

LIS: Lig adı 1.2A gibi...

NS: Dosya adı.

G1,G2: Birinci ve ikinci takımın golleri.

GT(I,J): Sonuçları oyun sayısına göre saklayan matris.

GL(I): I haftasının toplam gol sayısını içeren matris.

Diğer değişiklikler subprogramlara özgü olduğu için programı incelerken anlaşılabilirler.

Önemli satırlar

110: DEF FNY: Sayıların ondalık kısmını iki rakama düzeltiyor.

580: SEQ dosya adı lig ve yıl duruma göre bulunuyor ve dosya açılıyor. Program DISK için yazılmıştır. Eğer TEYP ile kullanılacaksa okuyucu bu satırı değiştirip teyple kullanabilirsiniz.

1600: Buradaki HCOPY komutu sayfayı bastırmak için eklenmiştir. Bu komut sisteme TOOL adlı BASIC yüklüyken çalışır. Fakat SIMON'S BASIC ile çalışıyorsa HCOPY yerine HRDCPY yazabilirsiniz. Eğer TOOL veya SIMON'S BASIC yoksa bu satıra REM yazılmalıdır.

1630:1700: F matrisi iki ayrı isimle iki ayrı SEQ dosya olarak saklanıyor. Bunun sebebi SAVE sırasındaki elektrik kesintisine karşı dosyayı korumak. İlk dosya adı 1.LİG/F-86/87. Bu dosya normalde kullanılan dosyadır. İkinci dosya 1.LİG/F-X yalnızca kaydediliyor. Eğer SAVE sırasında bir elektrik kesintisi olursa daha sonra yapılacak ilk iş programı RUN etmek. Her şey normalse bu ilk dosya sağlam demektir. Eğer normal değilse o zaman programla biraz oynamak gerekecek. 730 numaralı satır şeklinde değiştirilecek ve program RUN edilecek. Beş on dakika alacak bir iş, fakat dosya kurtarmak söz konusu olunca değer.

1700-1960: F matrisindeki bilgileri puan durumundaki bilgiler olarak P matrisinde saklıyor. Maçlar bir genel olarak, bir de dış saha maçları olarak değerlendiriliyor. Programın en can alıcı bölümü burasıdır. Bu bölümün RUN edilmesi yaklaşık 20 saniye almaktadır. Maçlar ilerledikçe biraz daha artacaktır. Zamanın sıkıcı bir şekilde uzun olmaması için bu bölüm MINIMUM süre ve OPTIMUM program şeklinde hazırlanmıştır. Programın geri kalanına aynı zamandan daha çok zaman harcanmıştır. RUN sırasında geçen süre ekrandan öğrenilebilir.

1970-2010: Puan durumu kurallara göre sıralanıyor. Puanlar eşitse atılan golden yenilen gol çıkartılarak elde edilen averaj sırayı belirliyor. O da eşitse atılan gol sayısına bakılıyor. Bütün bunlar satır 1950'de hesaplanıyor ve bu aralıkta sıralanıyor.

Bu yazıdaki programlar

Dergideki dökümlerden çıkarıldı; satırlar derginin kontrol toplamlarıyla doğrulandı ve programlar VICE emülatöründe denendi. Tarayıcıdaki C64'te çalıştırabilir, indirip bir emülatöre sürükleyip bırakabilir ya da gerçek bir C64'te LOAD "AD",8,1 ile yükleyebilirsiniz. "Sorun bulundu" yazanlarda bazı satırlar okunamadı ya da tutmadı; düzeltilmiş bir sürümünüz varsa contact@coze.org adresine gönderin.