Bu sayfadaki yazılar
Sayfanın metni
Sayfa 25
İlk oyuncu 'H' ile kart istemeyi durdurduğunda, sıra ikinci oyuncuya gelecektir. Her tur sonunda oyuncuların o turdaki durumları belirtilecek ve yeni tura geçilecektir. Kağıt bittiğinde ise son durumlar gösterilip galip veya galipler ilan edilecektir.
Sadece oyun oynamak isteyenler hemen programı yazıp oynamaya başlayabilirler. Ama program yazma meraklıları bundan sonrasını da okuyup, programın nasıl çalıştığını görebilirler. Kimbilir, belki bazı değişikliklerle daha iyi bir program elde edebilirsiniz. Artık başlayalım...
5-25: Burada, daha sonra iskambil kartlarını oluştururken kullanacağımız değişkenler hazırlanıyor. Herhalde bu ve bundan sonra gelen satırları yazarken BDE çok işinize yarayacaktır.
30: Önce açıklayıcı ekranı yazan altprogram çağrılıyor. Sonra da kaç deste kart istendiği soruluyor. Cevabın bir ile üç arasında olması şartı da kontrol ediliyor.
35: Burada da, verilen deste miktarının tamsayı olup olmadığı kontrol ediliyor. Eğer kullanıcı örneğin birbuçuk deste istemişse, soru yineleniyor. 0%=0 komutu ile 0%'nin içine, verilen sayının virgülden sonrası atıldığından geriye kalan tamsayı kısmı yerleşiyor. Sonra da bu kısmı sayının kendisiyle karşılaştırıyoruz.
40-45: Aynı işlemler oyuncu sayısı için de tekrarlanıyor.
50: Kart grafiklerini yerleştirmek için bir karakter matrisi açılıyor. Birinci indis kartın numarasını gösteriyor. İkinci indis ise, o kartın rengini (1:Kupa, 2:Karo, 3:Sinek, 4:Maça) belirliyor. Üçüncü indisle de, o kartın hangi desteye ait olduğunu anlıyoruz.
55-570: Bu oldukça uzun program kısmında, kart grafikleri belirleniyor. Bu sırada sadece birinci destenin kartları hazırlanıyor. Eğer gerekirse, daha sonra başka desteler için bu kartların dosyaları çıkarılacak.
575: Bu, özel bir kart. Bu karta, bir kartın arkadan görünüşünü yerleştiriyoruz.
580: Eğer tek deste seçilmişse, oyuna devam edilmiyor.
585: Birden çok deste seçildiği için yeni desteler hazırlanıyor.
590: Eğer birden fazla oyuncu varsa, gerekli değişken matrisleri hazırlanıyor ve programın çok oyuncunun oynamasını sağlayan bölümüne geçiliyor. S() matrisi her oyuncunun o andaki turda açtığı kağıtların toplamını, MS() matrisi oyuncu isimlerini ve E() matrisi de her oyuncunun toplam puanını saklar.
595: Tek oyuncuyla bilgisayar oynarsa, program buradan devam eder. Önce bazı değişkenlere ilk değerlerini vermek gerek. N değişkeni, o ana kadar kaç kart açıldığını sayarken, S1 ve B1 de oyuncunun ve bilgisayarın toplam puanını saklar.
600-610: Ekran hazırlanıyor ve kapalı kartlar basılıyor. Bu arada ekranın istenen noktasına yazmak için izlenen yöntemle dikkat. POKE 214, satır:POKE211, kolon:SYS 58640:PRINT "..." ile istenen satır ve kolondan itibaren yazıyı yazdırabiliyoruz.
615: Gerekli bazı değişkenlere ilk değerleri veriliyor. Z ile kartların üst kenarlarının hangi ekran satırında olacağını belirlerken, sol-üst köşenin kolon pozisyonu da S ile saklanıyor. SE ve BE değişkenleri, o turdaki kart toplamlarını saklıyor. AS, o anki oyuncunun çektiği asları ve BB de ekranda kaç tane yanyana kart basıldığını sayıyor.
620-635: Basılan 'E' veya 'H' tuşuna göre program dallanıyor.
640-645: Oyuncunun kartını seçip basacak altprogram çağrılıp, programın bir sonraki kısmına geçiliyor.
650-695: Bu altprogramda, yeni bir kart seçiliyor ve gerekli hesaplar yapılıyor. Eğer kağıt bitmişse, programın sonuna atlanıyor.
700: Kartın değeri, oyuncunun o turdaki toplamına ekleniyor. Eğer toplam 21'i geçerse ve elinde bir veya birkaç AS varsa, bunlardan biri 1 sayılıyor.
710-715: Eğer toplam 21'den büyükse, bu belirtiliyor ve bilgisayar kendi oyununu oynamaya başlıyor. Veya aynı oyuncunun yeni kart isteği bekleniyor.
720-750: Aynı işlemler bilgisayarın oyunu için de yapılmakta.
755-810: Toplam değerlere göre o turun sonucu belirleniyor ve ekrana basılıyor.
815-840: Bu kısım, kağıt bittiğinde devreye girerek, son puan durumunu yazar ve galibi açıklayarak programı bitirir. Bilgisayar eğer galip değilse, sizi rövanşa davet edecektir.
845: Kağıt bitmediğine göre, bir sonraki tur başlayabilir.
850: Buradan itibaren çok oyunculu kısım başlıyor. Önce oyuncuların isimleri öğreniliyor.
855-860: En uzun ismin uzunluğu saptanıyor. Bu, daha sonra listeler verilirken, puanların altına basılmasında kullanılacak.
865-930: Tüm oyuncuların sırayla oynaması sağlanıyor. Bunun için önce oyuncunun ekranı hazırlanıyor, kapalı kart basılıyor, diğer kart istekleri karşılanıyor ve eğer ikinci kart istenmişse ilk kart yeniden kapatılıyor. Bu arada da puanlar hesaplanıyor.
935-945: O turun en yüksek puanı bulunuyor.
950-980: O turun puan listesi ve herkesin kazanıp kazanmama durumları veriliyor, sonra da bir sonraki tura geçiliyor.
985-1040: Oyun bittiğinde, herkesin puan durumu ve galiplerin isimleri burada saptanıyor. Galip veya galipler, ses ve ışık gösterileriyle kutlanıyor.
1045-1050: Oyunun tekrarlanıp tekrarlanmayacağı burada sorulmaktadır.
1085-1155: En başta yazılan açıklayıcı ekranı kullanıcıya gösteren altprogram da işte burada.
İnşallah şansınız açık olur...
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 24
Eveeet... Bizim bu dergi de artık iyice kumarbaz oldu! Önce tilt makinası, sonra pişti, şimdi de blackjack, namı diğer 21. Ama gene de tam bir kumarhane 21'i beklemeyin. Gerçek blackjack'in bilgisayarı uyarlanmış bir türü bu. Ama gene de insanı saatlerce oyalayabiliyor. Önce programın nasıl oynandığını tarif edelim; sonra da satır satır açıklamasına gireriz.
Öncelikle kaç oyuncunun olduğu önemli. Eğer bir tek oyuncu varsa, o zaman bu oyunu bilgisayara karşı oynayacaktır. Yok eğer çok sayıda oyuncu varsa, o zaman da bu oyuncular kendi aralarında oynayacaklar, bilgisayar sadece kağıt dağıtma görevini üstlenecektir. Bu durumda bilgisayar bütün oyuncuların isimlerini öğrenecek ve oyuncuları isimleriyle hitap edecektir.
Ayrıca şekilde kaç deste kağıt kullanılabileceğini de oyuncu veya oyuncular belirleyebilir. Bir, iki veya üç deste kağıt seçilebilir. Böylece oyunun süresini ayarlayabilirsiniz.
Tüm bunlar belirlendikten (bu arada bilgisayar bazı ufak tefek kuralları hatırlatmak için bir açıklayıcı ekran gösterecektir) ve bilgisayar kağıtları karıştırdıktan sonra oyun başlayacaktır.
Eğer tek oyuncu varsa, ekranın üst yarısı o oyuncuya, alt yarısı da bilgisayara ait olacaktır. Bu arada kartların görüntüsünün çok iyi olduğunu övünerek belirtebiliriz.
Önce her iki oyuncunun da önünde kapalı bir kart görünecektir. Kartı açmak için 'E' tuşuna basmanız gerekmekte. Yeni bir kart istediğinizde, yeniden aynı tuşa basmanız lazım. Bu arada o ana kadar olan kartların toplamı en son açtığınız kartın sağ alt köşesinde sizi toplama zahmetinden kurtarmak amacıyla yazılacaktır. Amaç, 21'i tutturmak veya mümkün olduğu kadar yaklaşmaktır. Ama geçmek yasak. Geçtiğinizde kart alma isteğiniz kabul edilmeyecek ve bilgisayar kendi kartlarını çekmeye başlayacaktır. Daha önceden kart almayı durdurmak istediğinizde 'H' tuşuna basın. Kartları toplarken AS kartı ya 1 ya da 11 değerine sahip olacaktır ve bu bilgisayar tarafından otomatik olarak saptanacaktır. Resimli kartlar 10 değerine sahiptir, diğer kartlar ise üstlerinde yazan değerlere. Her iki taraf da bir tur döndükten sonra o anki durumları yazılacak ve bir sonraki tura geçilecektir. Eğer kağıt biterse, o anda oynanan tur yarıda kesilecek ve son durumlar ekrana basılıp, galip ilan edilecektir.
Eğer çok sayıda oyuncu varsa, her oyuncu için ayrı bir ekran kullanılacaktır. Ekranın sol üst köşesinde o oyuncunun o ana kadar olan skoru yazılacaktır. Ayrıca ekranda kapalı bir kart görünecektir. Oyuncu 'E' tuşu ile o kartı açabilir. İkinci kartı istemek için bir kez daha 'E' tuşuna basıldığında, ikinci kart açılacaktır. Böyle olmasının nedeni, diğer oyuncuların ilk kartın ne olduğunu bilmemelerinin gerekliliği. Artık dürüst oyuncular, ilk kartın ekranda göründüğü birkaç saniye içinde kafalarını öbür tarafa çevirirler herhalde.
Bu arada tabii ki o ana kadar olan kart toplamı sağ alt köşeye yazılmayacaktır. Artık herkes kendi toplamını kendisi yapsın.