Bu sayfadaki yazılar
Sayfanın metni
Sayfa 62
BURAK KİPER SPRİTE
BASIC 7.0 bize sprite çalışmalarımızda da büyük kolaylık sağlıyor. SPRDEF komutu sayesinde bir sprite düzenlemek karşılaştırıldığında hakikaten çok kolay. Sprite'ları sadece oyunlarda kullanmamız gerekmez. Mesela sprite kullanarak bir yazı yazdırabiliriz. Ancak böyle bir yazı yazmak için harf düzenleme zahmetinden kurtulmak istiyorsanız Program Döküm Eki'nde bulacağınız programı (PROGRAM 1) yazmanız yeterli olacaktır. Programımız sizden sprite haline getirmek istediğiniz karakterin ekran kodunu isteyecek, aldığı kodu sizden istediği koordinatlara göre sizin seçmiş olduğunuz sprite'a yerleştirecek, bu sırada SPRDEF komutunu aktif hale getirerek elde etmiş olduğunuz neticeyi görmenizi sağlayacak. İsterseniz burada gerekli değişikliği yapabilirsiniz. Normalde bir karakter 8*8'lik bir alanla kısıtlı iken, siz sprite kullandığınız için karakterinizin boyutlarında değişiklik yapabilirsiniz. Program Döküm Eki'nde bulacağınız ikinci program sprite'ların büyüklüğünü iki katına çıkarıyor. Bu sayede multicolor çalışmanız mümkün olabilir. Başka bir deyişle isterseniz gölgeli karakterler bile yapabilirsiniz.
SPRİTE DÜZELTME
Diyelim ki, bir sprite tanımladınız, ama yapmış olduğunuz eserden hoşnut değilsiniz. Durun, hemen yaptığınızı silmeyin! Program Döküm Eki'nde bulacağınız program (PROGRAM 3) ile beğenmediğiniz eserinizi mükemmel hale getirebilirsiniz. Programımız yapmış olduğunuz şekli her iki yönde genişletebileceği gibi, şekli istediğiniz yön ve açıda döndürebilir. Bundan başka dikey ve yatay olmak üzere şeklinizin aynadaki görüntüsünü elde etmenizi sağlar. Şeklinizin negatifini elde edebilirsiniz. Programımız hakkında söylememiz gereken iki şey daha var: Birincisi, programın işe yarar bir şey yapabilmesi için daha evvelden sprite tanımlamış olmanız gerekiyor. İkincisi, programımızın birçok seçeneğinin netice vermesi oldukça uzun sürüyor, çünkü uzun uzun hesaplamalar yapmak gerekiyor. Programımızın çalışması sırasında bazen ekran tam bir çöplük halini alacak. Ancak bu, işlemlerin biraz olsun hızlanması için gerekli. Elimizdeki seçenekleri şöyle bir inceleyelim: 1. Yansıma: Şekil y-eksenine göre ters çevrilecek. 2. Yatay yansıma: Şekil x-eksenine göre ters çevrilecek. 3. Şekil 180 derece çevrilecek. 4. Elinizdeki sprite'ı görmenizi sağlar. 5. Ters çevirme: Şeklin kendisi belirli bir derece veya eksene göre çevrilmek yerine negatifi elde edilir. 6. Şekil 90 derece çevrilir.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 63
7. Şekil 270 derece çevrilir.
TUŞ DEĞİŞİMİ C128'in klavyesinin üst kısmında CAPS LOCK tuşu bulunmakta, bu tuşa bastığınızda büyük harf yazmaya başlar. C128'in uluslararası modellerinde CAPS LOCK tuşu yerine ASCII-DIN tuşu bulunur. DIN kelimesi DEUTSCH INDUSTRY NORM kelimelerinin baş harflerinden oluşmuştur. Bu tuşa basıldığında işletim sistemi yabancı dil karakter setini hafızaya yükler. Tuş takımı QWERTY tipindedir, ancak tuş takımını basit bir yöntemle F klavye tipine çevirebiliriz, ancak makineyi kapatmamızla birlikte F-klavyemiz de kaybolur. Her F-klavye kullanmak istediğimizde aşağıdaki örnek programı tüm tuşlar için uygulayın:
410 REM F-klavye 20 FOR 1-0 TO 88 30 POKE 69124 1, PEEK (64128 41) 40 NEXT | 50 REM sadece uluslararası modeller 60 REM bu satırı yazsın 70 REM: POKE 2757, PEEK (2757) OR 128 80 POKE 830,0 90 POKE 831,27 100 POKE 6912 4 12,89 110 POKE 69124-25,90
213 ($D5) adresinde o an basılan karakterin kodu saklanır, ama bu kod ASCII kodundan farklıdır. Tuş takımını F-klavyeye çevirmek için o tuşun 213 numaralı adreste saklanan kodunu 6912'ye ekleyip elde ettiğiniz adrese istediğiniz karakterin ASCII değerini POKE edin. Örnek programımızı çalıştırırsanız, Y tuşuna bastığınızda Z harfini, Z tuşuna bastığınızda da Y harfini elde edersiniz.
lanmak zorunda kalacaksınız. Ancak aşağıdaki programımızı yazarsanız sadece bir elinizi yazım için kullanmanız yeterli olacağı gibi sadece sağdaki rakam tuşlarını ve fonksiyon tuşlarını kullanacağınızdan yazım hızınız artacak, programımız fonksiyon tuşlarından 1, 3, 5 ve 7'ye A-D harflerini, 2 ve 4'e E ve F tuşlarını 6 ve 8 numaralı fonksiyon tuşlarına da DEC(” ve HEX$( komutlarını tanımlıyor. HEX veri girişinde * ve — tuşlarının faydası olmadığı için bu iki tuşa E (4) ve F(X) harflerini tanımlıyoruz. E ve F harflerini ise SHIFT F2, F4 tuşları ile isterseniz rakam tuşlarındaki * ve — tuşlarına basarak elde edebilirsiniz. Hex veri girişine başlamadan evvel aşağıdaki programı yazıp çalıştırın:
10 REM hex-klavye 20 KEY 1.“A” 30 KEY 3,“B” 40 KEY 5,“C” 50 KEY 7,“D” 60 KEY 70 KEY 4.“F” 80 KEY 6,“PRINT DEC CHRS(34) 90 KEY 8.“PRİNT HEXS(” 100 FOR 1-0 TO 88 140 POKE 619241, PEEK (64128 41) 420 NEXT | 130 POKE 2757, PEEK (2757) OR 128 140 POKE 6994,32 150 POKE 6985,69 160 POKE 6986,70
Makine Dili'nde bir programı DATA satırları ile girmeye çalışan programcılara da işlerini kolaylaştırabilecek bir yardımda bulunalım. Genelde DATA satırlarındaki rakamları yazarken klavyenin sağındaki tuşlarını kullanmak çok kolay olmakta. Ancak bu tuşlar arasında virgül olmaması işleri aksatıyor. Aşağıdaki programımız çalıştığında sağ tarafta rakamların bulunduğu yerdeki nokta artık virgül basmaya başlayacak.
40 REM Nokta yerine Virgül 20 FOR 1-0 TO 88 30 POKE 6912 41, PEEK (64128 41) 40 NEXT | 50 POKE 2757, PEEK (2757) OR 128 60 POKE 830,0 70 POKE 831,27 80 POKE 6994,44
C128 İÇİN HEX-KLAVYE
Bir makine dili programı girerken rakamlardan başka A ile F arasındaki harfleri de kullanmanız gerekir. Ancak klavyenin ortalarında bu harfleri aramak yazım hızınızı düşüreceği gibi iki elinizi de yazım için kullanmak zorunda kalacaksınız. Ancak aşağıdaki programımızı yazarsanız sadece bir elinizi yazım için kullanmanız yeterli olacağı gibi sadece sağdaki rakam tuşlarını ve fonksiyon tuşlarını kullanacağınızdan yazım hızınız artacak, programımız fonksiyon tuşlarından 1, 3, 5 ve 7'ye A-D harflerini, 2 ve 4'e E ve F tuşlarını, 6 ve 8 numaralı fonksiyon tuşlarına da DEC(” ve HEX$( komutlarını tanımlıyor. HEX veri girişinde * ve — tuşlarının faydası olmadığı için bu iki tuşa E (4) ve F (X) harflerini tanımlıyoruz. E ve F harflerini ise SHIFT F2, F4 tuşları ile isterseniz rakam tuşlarındaki * ve — tuşlarına basarak elde edebilirsiniz.