MASTERMIND

Program dökümü: MASTERMIND, Q-BERND

Hani zeki(!) arkadaşlarımızın sıkıldıkça oynadıkları bir oyun vardır... Hani biri dört basamaklı bir sayı tutar da, diğeri o sayıyı bulmaya uğraşır. İşte o oyun, bu oyun. Artık arkadaşınıza gerek kalmadı. Açın C-64'ü oynayın...

Hem bizim MASTERMIND'ımız (İngilizce'de 'usta zeka' gibi bir anlama geliyor) daha becerikli. Ama önce oynamasını bilmeyen arkadaşlara biraz anlatalım. Bilenler de, normal oyunla bizimkisi arasındaki farkı bu arada görürler.

Bilgisayar, sizin ilk soruya ('uzunluk') vereceğiniz cevap kadar rakama sahip bir sayı üretecektir. Ancak bu sayının içinde aynı rakam birden çok olmayacaktır. Ayrıca ilk rakam da sıfır olamaz. İkinci soru ile ('kademe'), her bir rakamın en çok kaç olacağını belirleyeceksiniz. Örneğin sırasıyla 4 ve 5 verdiğinizde, her bir rakamı 0-5 arası olan 4 basamaklı bir sayı üretilecektir. İşte bu sayı, sizin bulmaya çalışacağınız sayı olacak. Normalde kâğıt üstünde oynanan oyunla aynı olmak için, 4 ve 9 vermelisiniz.

Bu arada bir şeye dikkatinizi çekelim. Tüm program boyunca, [RETURN] tuşuna basmanız gerekmeyecek. İlk iki soruya 1-9 arası tuşlardan birine basarak cevap vereceksiniz. Diğer tuşlar çalışmaz. Eğer ilk soruya 1 ile cevap verirseniz, ikinci soru 0'ı da kabul edecektir (ama bu, programı sonsuz döngüye sokacaktır). Yani ikinci soruya verebileceğiniz cevaplar, birinci soruya verdiğiniz cevaba bağlı. Örneğin, ilk soruya 4 ile cevap verip ikinci soruya 2 ile cevap veremezsiniz (0-2 arasındaki rakamları yalnız birer kere kullanarak, 4 basamaklı bir sayı oluşturamayız, di mi?).

Artık tahminlerinizi yazmaya başlayabilirsiniz. Sıfır ile ikinci cevabınızda belirttiğiniz üst sınır arasında kalan sayı tuşlarına dilediğiniz sırayla basın. İlk cevabınızda belirttiğiniz uzunluğa geldiğinizde, bilgisayar tuşları okumayı durdurup verdiğiniz sayıyı inceleme-ye koyulacaktır. Eğer verdiğiniz sayı geçersiz bir sayı ise, yani aynı rakam birkaç kere varsa, o tahmininiz sayılmayacak ve yeni bir tahmin istenecek. Yalnız programın şimdiki hali, ilk basamak olarak sıfır verdiğinizde tahmininizi geçerli sayacaktır. Eğer bunu önlemek isterseniz, şöyle bir satır ekleyin:

Eğer sayınız geçerli ise, doğruluk derecesi size gösterilecektir. Örneğin cevap olarak "+2,1" gelmişse, verdiğiniz sayının iki basamağı doğru yerde duruyor, bir basamağı ise tutulan sayının içinde var ama siz doğru yerine koyamamışsınız demektir. Örneğin bilgisayar 8175 sayısını tutmuşsa ve siz de 8735 vermişseniz, cevap +2,2 olacaktır. Çünkü 8 ve 5 yerinde, 7 ise vardır, ama yanlış yerdedir.

Doğru cevabı bulduğunuzda bilgisayar size bunu gösterecek ve tekrar oynayıp oynamak istemediğinizi soracaktır. Dilerseniz oynayın, isterseniz masa başından(!) kalkın.

Bir-iki ufak ayrıntı daha. Eğer sayıyı bulamayacak duruma gelirseniz, soru işaretine basın. Bilgisayar tuttuğu sayıyı size gösterecektir. Ayrıca her tahmininizde, kaçıncı tahmini yaptığınızı da göreceksiniz.

Biraz da programa göz atalım.

10: Ekran rengi sarı ve mor hale getiriliyor.

20: Başlık yazılıyor.

21-22: Tutulacak sayının kaç basamak olacağı (1-9) soruluyor. POKE komutu ile, bu soru ekrana çıkmadan önce basılmış olabilecek tuşlar iptal ediliyor. Anlamsız tuşlar da dikkate alınmıyor.

23-24: Uzunluk ekrana yazılıp, bu sefer de her sayının olabileceği maksimum değer soruluyor. Gene, geçersiz tuşlar kabul edilmiyor.

25-31: Son cevap ekrana yazılıp işlemlere başlanıyor.

32: Verilen sınırlar içinde tesadüfen hesaplanan rakamlar, istenilen uzunluktaki sayıyı oluşturacak şekilde bir array'a yerleştiriliyor.

33-34: Aynı rakam, sayının basamaklarında birden fazla çıkmışsa düzeltilip yeniden kontrol ediliyor.

35: İlk basamak sıfır ise, değiştirilip kontrola gönderiliyor.

45: Sayaç temizleniyor.

49-70: Sırayla sizin bastığınız geçerli sayı tuşları okunup ekrana yazılıyor. Bu işlem, istenilen uzunlukta bir sayı oluşuncaya kadar devam ediyor. Eğer soru işaretine basarsanız, okuma işlemi durduruluyor.

72-73: Verdiğiniz sayının geçerliliği kontrol ediliyor. Eğer hata varsa yeniden soruluyor.

80-90: Doğru yerinde olan basamaklar sayılıyor.

100-120: Yerinde olup olmadığına bakmaksızın, hem sizin sayınızda hem de tutulan sayıda olan ortak basamaklar sayılıyor.

130: O tahmindeki skorunuz yazılıyor.

140: Eğer tahmininiz doğru ise, sayı isteme durduruluyor.

150: Tekrar tahmininiz isteniyor.

160: Bilgisayar tuttuğu sayıyı gösteriyor.

200-250: En son durum yazılıyor.

300-340: Devam etmek isteyip istemediğiniz soruluyor. Eğer istemezseniz, ekran siliniyor ve program bitiyor.

Tahminlerinizi verirken yanlış yazdığınız basamağı değiştirme imkânınız yok. Bu nedenle, önce kafanızda iyice düşündükten sonra sayınızı yazın. Gene de bir yöntem var. Eğer yanlış yazdığınız rakam son rakam değilse, o rakamı sayı tamamlanıncaya kadar tekrar tekrar yazın. Böylece sayınız geçersiz olacak ve bir tahmin olarak sayılmayacaktır.

Başarılar...

Hem BASIC'de, hem kısa, hem güzel grafikli, hem de eğlenceli bir oyunumuz var. Almaz mıydınız?..

Oyunumuzu fazla anlatmaya gerek yok. Küplerden kurulu bir piramit üzerindesiniz ve küçük, minicik ama artniyetli bir yaratık sizi izliyor. Amacı, sizi bu oyundan atmak. Ama siz inatla küpten kübe atlayıp onların renklerini değiştiriyorsunuz. Küçük canavara yakalanmadan tüm küplere ulaşabilirseniz, zafer sizin; bir sonraki piramide geçiyorsunuz. Ama siz tam rahata erdiğinizi zannederken, canavarlar ikileşiyorlar. Hepsi de sizin peşinizde... Diyelim ki bunları da atlattınız. O zaman üç tane, sonra dört, beş, altı... Taaa 10'a kadar... Ondan sonra nüfus planlaması yapıp üremeyi durduruyorlar ama, 10 tanesi de insanı yok etmeye yetiyor.

Oyun başlarken, adamcığınızı ne ile kontrol edeceğinizi belirleyebilirsiniz. Bu, isterseniz joystick olur, isterseniz de klavye. Eğer klavyeyi seçerseniz, değişik yönleri temsil edecek olan tuşları bilgisayara belirtebilirsiniz. Eğer adamcığınız bir canavarla ilişkiye girip ölürse, F1 tuşuna basarak oyunu yeni baştan başlatabilirsiniz.

Oyunda başlıca amaç, daha fazla piramit bitirip daha fazla puan almak ve böylece rekor kırmak. Bu nedenle, o oyundaki puanınız ve bilgisayarı açtığınızdan beri yaptığınız en iyi skorunuz

(yani rekorunuz), ekranda hep görünecektir.

Program, işlemlerini oldukça basit bir mantıkla yürüttüğü için satır satır açıklama yapmıyoruz. İsteyen okuyucularımız, biraz zaman harcayarak programı kolayca anlayabilirler. Programı ilerletme imkânınız da olabilir. Örneğin adamcıklarınızın sayısını artırabilirsiniz (şu anda sadece bir).

Size bol şans... □

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.