Bu sayfadaki yazılar
Sayfanın metni
Sayfa 49
SAMET KUMAŞ
Kaplumbağanın ve çizdiği çizgilerin rengini belirleyen işlem PENCOLOR ya da kısaca PC'dir; ekran zeminin rengini belirleyense BACKGROUND ya da BG... Her iki komut da 0 ilâ 15 arasında yeralması gereken tek bir parametre alır. Ancak bu noktada kafa karıştırıcı bir şey var. Bildiğiniz gibi, C-64'ünüzde renklerin klavye üzerinde belirtilmiş sayısal değerleri 1 ilâ 8 arasında yeralır. Oysa LOGO'da renkler 0'dan başlayarak numaralanır. Aşağıda LOGO'da her rengin sayısal karşılığını bulacaksınız:
Renk Sayısal değeri Siyah 0 Beyaz 1 Kırmızı 2 Cyan 3 Mor 4 Yeşil 5 Mavi 6 Sarı 7 Turuncu 8 Kahverengi 9 Açık kırmızı 10 1. Gri 11 2. Gri 12 Açık yeşil 13 Açık mavi 14 3. Gri 15
Yalnız unutulmamalı ki, PC ve BG komutları yalnızca çizim ekranı için geçerlidir. Metin ekranında yazının rengi TEXTCOLOR, zeminin rengi ise TEXTBG komutları ile belirlenir. Aynen PC ve BG gibi bunlar da 0 ila 15 arasında yeralması gereken sayısal birer parametre alırlar. Madem ekranın nasıl renklendirileceğini gördük, şimdi bu imkandan yararlanıp renkli bir güneş çizelim. Bunun için iki işlemden yararlanacağız. Birincisi bir dörtgen çiziyor:
TO DORTGEN REPEAT 2 (FD 60 RT 30 FD 60 RT 150) END
Bu sabit işlemi mutlaka disketinize kaydedin. Daha sonra sık sık başvuracağımız için, renkli güneşimizin bir parçası değil de, ayrı bir işlem olarak tanımladık. Şimdi bu dörtgeni her defasında beş derece sağa döndürerek 72 kere tekrarlarsak, güneş şeklini elde ederiz.
TO GUNES MAKE “X 1 REPEAT 72 (PC:X4 1 DORTGEN RT 5) END
Ama bu işlemi çalıştırdıktan bir süre sonra bir problemle karşılaşacaksınız. Yani şöyle bir hata mesajı belirecek. PC DOESN'T LİKE 16 AS İNPUT İN LİNE vs. diye. Yani PC komutu parametre olarak 16'yı beğenmiyor. Bu da çok doğal; en yüksek renk kodumuz 15'ti.
Bu sorunu çözmenin iki yolu var, biri dolambaçlı ve kolay, ikincisi yalın ve nisbeten daha çok şey bilmeyi gerektiriyor. Dolambaçlı ve kolay olanı ile başlayalım.
Koşullu Komutlar
Şimdiye kadar sık sık, Logo'nun mantığının Basic ve hatta Pascal gibi diğer dillerden hatırı sayılır ölçüde farklı olduğunu söyleyip durduk. Tabii her genelleme gibi bunun da istisnaları var. Bir tanesini de gördük bile; koşullu komutların, daha da açıkçası IF... THEN... ELSE'in kullanımı Logo'da da diğer dillerdekine benziyor. O halde koşullu komutları kullanarak renkli güneş çizen işlemimizi şu şekilde yeniden yazabiliriz.
TO GUNES MAKE “X O REPEAT 72 (IF:X — 15 THEN MAKE “X O ELSE PC:X4 1 DORTGEN RT 5S) END
İşlem bu şekilde yazıldığında, renk değeri 15'e ulaştığında (yani kaplumbağa grinin üçüncü tonunu aldığında), kaplumbağa renk değiştirmeyecek, yani dörtgeni iki kere üstüste üçüncü gride çizecek ancak bir dahaki sefere renk dizisine 0'dan, yani siyahtan yeniden başlayacaktır.
Aritmetik İşlemlerin Öncelik Sırası: Logo işlemlerinin diğer dilleri andırdığı ikinci bir alan da aritmetik hesaplamalar alanıdır. Bir kere bütün aritmetik işlemlerin işaretleri, bütün diğer dillerden tanıdığımız işaretlerdir:
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 48
Bilgisayarlar hakkında daha çok bilgi sahibi olmadığına ve bir bilgisayar edinmediğine hayıflandı. Bu en mükemmel suçun planlarını hazırlarken ondan yararlanabilirdi belki. Alice ile onu bir araya getirdikten sonra, bilgisayarın yeteneklerine güveni sınırsız derecede artmıştı. Evliliklerinin birinci yıldönümünü Tahoe gölünde geçirmeye karar verdiler. Stateline'da biraz kumar oynadıktan sonra bir tekne kiralayıp gölde birkaç gün geçireceklerdi. Los Angeles'ten gelirken, neredeyse fikrini bir kere daha değiştirecekti. Bu kadının karşı konulması güç bir cazibesi vardı. Keşke bu kadar çok parası olmasaydı. Ama kendini yeniden katılaştırmayı başardı. Alice bir keresinde ona “sevgilim, bir yıldır evli olmamıza karşın birbirimiz hakkında ne kadar az şey biliyoruz” dedi, “örneğin senin bir çeşit mavi sakal olmadığın ne malum.” Damarlarından kanının çekildiğini hissettiği halde, bu espriye kayıtsızca gülmeyi başarabildi. Stateline'da, kumarda bol bol kaybetti. Alice onu güçlükle oyun masasından kaldırdı. O sırada Alice'nin parasını ele geçirdikten sonra kumarda bilgisayar kullanmaya ve kendine bir bilgisayar almaya karar verdi. Ama şimdi sıra işteydi. “Bu kadar kumar yeter sevgilim” dedi. “Yarın bütün günü gölde, teknede geçireceğiz.” O gece kayıkhaneye gidip Alice'nin kullanacağı can yeleğinde bir delik açtı. Kaza eseri olmuş gibi görünecek kadar küçük ama suyun içeri dolup onu yavaş yavaş batırmasına yetecek kadar da büyüktü. Alice'in edinmemiş olduğu bir beceriydi yüzme. Teknenin sanki su altında bir kayaya çarpmış olduğu izlenimini uyandıracak bir delik açabilecek miktarda patlayıcı yerleştirdi gövdenin alt tarafına. Döndüğünde Alice uyuyordu. Ayışığında onun masum, güzel yüzünü görünce bir pişmanlık dalgası geçti içinden. Ondan sonra yanına uzandı ve birkaç dakika içinde uykuya kaldı. Sabah hava parlak ve açıktı. Hafif bir rüzgar gölün yüzeyinde dalgalanmalar yaratıyordu. Onun ve teknenin hareketinin dışında gölün yüzeyi kıpırtısızdı. Hava çam kokusuyla doluydu. Alice'e baktı. Alice kendinden geçmişti. “Biliyor musun?” dedi, “seninle bu kadar mutlu olmamın nedeni pek çok konuda aynı şeyleri yapmaktan hoşlanmamız.” “Ben de sık sık aynı şeyi düşündüm” dedi Alice, “örneğin evlilik yıldönümümüz için buraya gelmeyi öneren sendin ama benim de bundan çok isteyebileceğim bir şey yoktu.” Patlama zamanından önce oldu, ama kıyıdan yeterince uzaktaydılar ve bulundukları yerde göl yeterince derindi. Bu kadar çabuk olmasından memnun bile oldu, çünkü öbür türlü planını iptal edecek kadar yumuşayabilirdi. Alice o an bir çığlık attı. “Suyun altındaki bir kütüğe çarptık canım” dedi. “Dipte bir delik açıldı gibi görünüyor. Ama paniğe kapılmaya gerek yok. Can yeleğin batmanı önler, yardım gelene kadar böyle idare edebiliriz.” “Ama ben yüzme bilmiyorum.” “Biliyorum sevgilim. O seni suyun üstünde tutacaktır, endişelenme. Birkaç dakika içinde tekne battı. Alice'in can yeleği birazdan suyla dolup onu batıracaktı. “Sevgilim” diye bağırdı az ötesinden Alice. “Sana itiraf etmem gereken bir şey var.” Bir itiraf için ne uygun bir zaman diye düşündü. “Nedir o sevgilim?” “Seni gerçekten seviyorum. Seni şimdiye dek kimseyi sevmediğim kadar çok seviyorum. Sadece paran yüzünden yaptım bunu. Ben zayıf bir insanım, kendime hakim olamadım.” “Neden söz ediyorsun sen?” “Can yeleğinde bir delik açtım. Birkaç saniye içinde suyla dolup seni batıracak. Görüyorsun ya, senin de yüzme bilmediğini biliyordum. John ve Bill için hiçbir şey hissetmemiştim ama seninle başkaydı. Sana bunları söylememin nedeni -seni gerçekten sevdiğimi boğulmadan önce bilmeni istiyorum. Çok zayıf bir insanım, üzgünüm.” “Çıldırdın mı sen? Ben de senin can yeleğinde bir de...” Batmaya başladığını farkedince paniğe kapıldı. Bilgisayar onları öylesine iyi eşleştirmişti ki, zayıflıkları ve öldürme eğilimleri bile birbirini tutuyordu. Suyun üzerinde kalmaya çalışarak çırpınıyor ve küfrediyordu. Alice'in ona kulak asacak hali yoktu, çünkü o da çırpınmak ve bağırmakla meşguldü. Birkaç dakika içinde gölün yüzeyi sabahki durgunluğuna döndü. —