Commodore sayı 9, sayfa 41

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 41

Ekran Hareketliliği

Ekranda iki tür hareketlilikten bahsediyoruz. Biri ekranın bir bölümünün başka bir yere taşınması, diğeri de belirlenen bölümün kendi içinde hareket etmesi. MOVE satır1,kolon1,x,y,satır2,kolon2 ile, ilk belirlenen dikdörtgen alan, sol üst köşesi satır2,kolon2 olacak şekilde kopyalanır. Gene her iki bölümün de ekrana sığması gerektiği malum... Diğer türdeki hareketliliği sağlayan komutlar birbirine çok benziyor. Bu nedenle birini açıklayıp, diğerlerini ona göre anlatacağız.

DOWNW satır,kolon,x,y ile belirlenen alan içinde kalan ekran kısmı, bir satır aşağı kaydırılır. Ancak dikdörtgenin veri değişmez ve dikdörtgenin son satırında bulunan yazı en üst de örnek programımızı inceleyin. INKEY değişkeni, devamlı olarak klavyeyi okur ve o anda basılı olan fonksiyon tuşunun numarasını taşır. Bu 1-16 arası bir sayıdır. Eğer o anda bir fonksiyon tuşu basılı değilse, içeriği sıfır olur.

Bir başka komut, DATA'ların okunması ile ilgili. RESTORE komutu, DATA'ları baştan okumaya yarar. Ancak aradaki satırlardan birinde başlayan bir DATA'yı tekrar okumak çok zordur. Fakat şimdi, RESET satır no ile istediğiniz satırdan DATA'ları okumaya başlayabiliriz. Bir ufak komut da, programın belli bir süre beklemesiyle ilgili. PAUSE 10 dediğinizde bilgisayar 10 saniye bekleyecektir. Eğer PAUSE “merhaba!!”,3 derseniz de, ekrana merhaba satırında ortaya çıkar. Yani bu komutu bir FOR..NEXT döngüsü içinde kullanırsanız, belirlenen dikdörtgende yukarıdan aşağı doğru bir rotasyon elde edersiniz. DOWNW yerine DOWNB kullandığınızda, aşağıdan kaybolan satır yukarıdan ortaya çıkmayacak, üst satır boşalacak ve böylece bu komut tekrarlandığında o bölge bir süre sonra boş kalacaktır. Yukarıdaki işlem sağa, sola ve yukarı doğru da yapılabilir. Bunun için UPB veya UPW (yukarı), LEFTB veya LEFTW (sola), RIGHTB veya

RIGHTW (sağa) kullanılır.

Karakter Dizileri

Gelelim yabancıların string dedikleri karakter dizilerine. Eskiden beri eksikliğini çektiğiniz emirlerin bir kısmını SIMONS' BASIC'de bulabileceksiniz. Örneğin DUP(string,tekrar) ile, önceden belirlenmiş string'i “tekrar” kadar kendine eklemiş olursunuz. Örneğin A$=DUP(“A”,5) ile A$=“AAAAA” olur. Yalnız dikkat edin, tekrar*LEN(string) yani sonucun uzunluğu en fazla 255 olmalı. A$=INSERT(string1,string2,pozisyon) ile, string2'nin içine string1'i verilen yerden itibaren ekler. Örneğin A$=INSERT(“XXXX”,“RIZA”,3) ile A$=“RIZXXXXA” elde edilir. Pozisyon'un değeri LEN(string2)'den küçük olmalıdır. Sıfır olabilir. Bu durumda string1, string2'nin başına eklenir. A$=INST(string1,string2,pozisyon) da deminki işi yapar, ancak bu arada string2'nin string1 tarafından kaplanan kısmı ortadan kalkar. Örneğin A$=INST(“XX”,“RIZA”,1) ile A$=“RXXA” ortaya çıkar. Pozisyon için 0-LEN(string2) arası değerler geçerlidir. Son durumda string1, string2'nin sonuna eklenir.

Ekran Komutları

Ekran komutları başlığı altında, ekrandaki renkleri ve karakterleri etkileyen değişik komutları inceleyeceğiz. Örneğin COLOUR renk1,renk2 ile ekran ve çerçeve rengi belirlenebilmekte. “renk1” ile çerçeve rengi, “renk2” ile de ekran rengi verilmekte. Her biri 0-15 arasında olmalı. Daha önceden bu işlem POKE 53280,renk1: POKE 53281,renk2 ile yapılıyordu. Ekran çerçevesinin iki renk arasında belli bir hızla gidip gelmesini ve bu işin programdan bağımsız olarak yürümesini BFLASH hız,renk1,renk2 sağlıyor. İşlem BFLASH 0 ile durdurulmakta. Karakterlerin yanıp sönmesini de FLASH renk,hız sağlar. Ekrandaki belirtilen renge sahip tüm karakterler verilen hıza göre yanıp sönmeye başlar. Bu işlemi de OFF komutu sona erdirir. Son iki komuttaki hız parametresi 1-255 arasında olmalıdır ve 1 en hızlı yanıp sönmeyi sağlar. Bir de ekranda dikdörtgen biçimindeki alanları etkileyen komutlar var. Örneğin INV satır,kolon,x,y komutu ile, sol üst köşesi verilen satır ve kolonda olan, “x” kadar genişliğe ve “y” kadar da yüksekliğe sahip dikdörtgen alan negatif hale gelir. FCHR satır,kolon,x,y,kod dediğinizde, belirlediğiniz dikdörtgenin içi “kod” ile ekran kodunu (0-255) verdiğiniz karakterle doldurulur. FCOL satır,kolon,x,y,renk ise verdiğiniz dikdörtgen alanı belirlediğiniz renk (0-15) ile kaplar. FILL satır,kolon,x,y,kod,renk ise yukarıdaki iki komutu birleştirir. Verilen alanı hem renk, hem de karakter ile kaplar. Yukarıdaki komutların hepsinde belirlenen dikdörtgenin tamamen ekrana sığması gerektiği söylemeye gerek yok sanırız. Bir diğer komut, her karakterin farklı zemin rengine sahip olabilmesini sağlar. BCKGNDS renk1,renk2, renk3,renk4 ile bu işlem yapılır. Ancak artık karakter setinin sadece ilk 64 karakterini kullanabilirsiniz. “renk”

Klavyeyle gezinmek için ← ve → tuşları.