Bu sayfadaki yazılar
Sayfanın metni
Sayfa 25
3 İNPUT Rutini .S .O DÖN JSR SFFE4 ; eğer sıfır değeri elde edersek, BE© DÖN ; kullanıcı daha tuşa basmadı demektir. JSR SFFD2 ; girilen karakteri ekrana bas, CMP #13 Bu tuş RETURN tuşu mu? BNE DÖN ; hayırsa başka tuşları okumaya devam. RTS; RETURN tuşuna basılmış başa dön.
Bu rutin DEL, CLR, kürsor tuşları ve diğer tuşlarının kullanımında doğru olarak çalışacaktır. Çünkü karakterlerin basımı için $FFD2 sistem rutinini kullanıyoruz. Bu rutin ile alınan veri sadece ekranda du- Tuyor. Girilen veriyi kullanmak için ekrandan ayrı ola- Tak kendimiz için ayırdığımız bir program bölgesinde de saklamamız gerekir.
AMIGA
Van'dan Hürol Er arkadaşımız aşağıdaki soruları sorüyor: (4) AMIGA ile sprite hareketlerini nasıl sağlayabilirim? EXTRAS disketindeki Object Editor programını kullanarak istediğiniz gibi bir sprite hazırlayabilirsiniz. Daha sonra bu şekli diskete kaydedin. Bu şekilde hazırladığınız şekilleri disketten okumak İçin kullanmanız gereken komut dizisi: OPEN “dosyalsmi” FOR INPUT AS # 4 OBJECT.SHAPE CLOSE #4
Mesela diskette BALON isimli şekli okuyalım.
OPEN “BALON” AS 4 OBJECT.SHAPE 1.INPUTS(LOF(4).4) CLOSE #1
OBJECT.SHAPE ile kullanacağınız şekli tanımladıktan sonra sıra onları hareket ettirmeye geliyor. Bunun için gerekli olan komut:
OBJECT.X şekil-no,yatay koordinat OBJECT.Y koordinat
Mesela bir numaralı şekli ekranın sol üst köşesine göre 10 piksel yatay, 20 piksel dikey koordinatlarda ortaya çıkaralım: OBJECT.X 1,10 OBJECT.Y 1.20
Şeklin bir yöne doğru gidiş hızını ayarlamak için,
OBJECT.VX şekil-no,hız OBJECT.VY şekil-no,hız
komutlarını kullanıyoruz. Şeklin saniyede kaç piksel ilerlemesini istiyorsanız, bu değeri hız yerine koyun. Mesela şeklimiz X yönünde saniyede yirmi piksel Y yönünde 10 piksel hızla ilerlesin:
OBJECT.VX 1.20 OBJECT.VY 1,40
Diğer OBJECT Komutlarını AMIGA Basic kitabından elde edebilirsiniz.
(2) Muharebe konusunda paket programlar neler-
dir? Hangisini tavsiye edersiniz? Muharebe konusunda birçok simülasyon programı hazırlanıyor. Bu simülasyonlarda özellikle ikinci dünya savaşı konu alınmakta. Ancak bu programlardan en iyisi Üç boyutlu görüntü sağlayan UNIVERSAL MILI-TARY SIMULATION. Programın bir özelliği de farklı çağlardaki savaş senaryolarından birini seçebilmeniz. En eski savaş milattan önce, en yenisi ise ondokuzuncu yüzyılda geçiyor. Benim şu ana kadar İncelediğim'simülasyonlar içinde en detaylı ve en gelişmişi bu program diyebilirim.
(8) Menüleri kendim nasıl oluşturabilirim? AMIGA Basic ile menü oluşturmak için MENU komutunu kullanıyoruz: MENU menu-no, madde-no, durum, yazı Menu-no, / ile 10 arasında bir değer alır. Bir numaralı Menü ekranın sol üst köşesinde yer alırken, on numaralı menü ekranın sağ üst köşesinde yer alır. Madde-no, Oile 19 arasında değerler alır.
Talı Madde, menünün başlığını oluşturur.
Durum, 0 ile 2 arasında değer alır ve bütün menünün veya menüdeki bir maddenin durumunu gösterir:
0 : madde seçilemez 1 : madde seçilebilir 2 : maddenin yanında işaret var.
Yazı, menünün başlığını ve maddelerini oluşturur. Menünün kullanımını bir örnekle görelim:
MENU MENU 1 MENU Aç” MENU 1,3,1,“Dosya Sakla” MENU 1 MENU MENU 1,6,1,
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 24
(4) Stealth Fighter'ın kullanım tuşları nelerdir? (5) C-64 için virüs var mı? Varsa nasıl korunabilirim? Bildiğim kadarıyla C-64 için virüs yok. Ancak virüs yok etmek için program var. Virüsten korunmanın en iyi yolu disketlerinizi yazmaya karşı kapalı tutmaktır. Bunun için disketin sağ tarafındaki çentiği bir bant ile kapayın. Kaset kullanıcılarının virüsten korkmalarına gerek yok. Ankara'dan Övgü Gülşen arkadaşımız bize aşağıdaki ip uçlarını göndermiş. Kendisine teşekkür ediyoruz.
Apollo 18 Ayar ekranındaki kelimelerin yeşil hale gelmeleri gerekir. Kelimelerin hepsi yeşil olunca, en aşağıdaki NO GO değişerek GO şekline gelecektir. Bundan sonra ateş tuşuna basarak mekiği kaldırabilirsiniz.
PHM PEGASUS Zamanı hızlandırmak için * tuşuna basın, yavaşlatmak için - tuşuna basın. Övgü arkadaşımızın soruları: (4) The Three Stooges adlı oyunda gerekli para ne kadar? (2) The Train adlı oyunda belli bir istasyonda daha ileri geçemiyorum, geçmek için ne yapmalıyım? Bu sorunun cevabını Şubat-89 sayısında bulabilirsiniz. İstanbul'dan Altay Genç arkadaşımız bize aşağıdaki ip ucunu göndermiş. Kendisine teşekkür ediyoruz.
Predator Commodore tuşuna basarak el bombası atabilirsiniz (üç tane). RETURN tuşu ile silahı bırakır ya da alabilirsiniz.
Yekar Kungfu 2 S tuşu ile müzik veya ses efektinden birini seçebilirsiniz.
Barbarlan | F3 tuşu müzik-ses efekti seçimi. F5 oyunu durdurur, başlatır. Ayrıca CTRL V tuşuna basıldığında ekranda V 05 05 87 yazısı çıkıyor ama ne işe yaradığını bilmiyorum (sanırım çıkan yazı oyunun versiyonunu veya çıkış tarihini belirtiyor, 5 Mayıs 1987 gibi - B.K.)
Tiger Heli Run-Stop tuşu oyunu durdurur, başlatır. P tuşu başlangıç ekranına döndürür.
Venom sirikes back P tuşu oyunu durdurur, başlatır. Run-Stop tuşu başlangıç ekranına döndürür.
MAKİNE DİLİ
Son derece yararlı ve gerekli bir komut olan IF-THEN, makine dilinde CMP ve BNE veya benzeri bir komutun bileşiminden oluşur. BNE yerine BE©, BCC gibi diğer komutlar da kullanılabilir. Bu komutlardan oluşan bir program parçası şu şekilde olabilir:
2000LDA$57 ; $57 adresinde hangi değer var? 2002 CMP# $0F ; bu değer $0F (— 415) mi?
2004 $200D; eğer cevap evetse, : $200D adresine atla 2006 LDA##$0A ; eğer cevap hayırsa, $57 adresine
2008 STA $57 —; SOA değerini koy. 200A JMP $2014; THEN kısmını geç 200DLDA $44 ;THEN, $57 adresine $414 (—20) ; döğerini koy.
200F STA $57
20141 .... ; program devam eder... Program çalışması sırasında herhangi bir olay flag'- lardaki bitleri yakacağı için CMP komutunu kullanmanıza gerek kalmayacaktır. Mesela, $57 adresinin degeri sıfırsa, 200D adresine atlamak istiyorsanız, bütün yapmanız gereken;
LDA # 57 BE© $200D
olacaktır. O komutunu kullanmadık, çünkü A yazmacına yüklenen değer sıfır ise zero (sıfır) biti yanar. CMP komutunu kullanmak programınızı daha anlaşılır hale getirecektir. Ancak bir programı kısaltmak zorunda kalırsanız mümkün olan yerlerde CMP komutunu çıkarabilirsiniz.
İNPUT INPUT komutu, seri halde kullanılan GET komutlarından oluşuyor denilebilir. Ancak kullanıcının girdiği veriler GET komutunun aksine ekrana yazılıyor. Bu sayede DEL, ve kürsor tuşları ile gerekli düzeltmeler yapılabilir. INPUT rutinimiz bütün bu işlemleri içermeli, mesela delete işlemi istendiğinde silinme derhal girilen yazı üstünde yapılmalı. Bundan başka rutinimiz hangi tuşların yazıya dahil olmayan karakter ürettiğini bilecek kadar akıllı olmalı. Mesela kürsor tuşlarının basıldığını kontrol etmezsek bunlar da yazıya dahil edilir ve düzeltme fonksiyonlarını kaybederler. Rutinimiz, klavyeden bir karakter alıyor ve bunu ekrana basıyor. RETURN tuşuna basıldığında rutinin çalışması sona eriyor. 13 (RETURN tuşunun ASCII kodu) değeri ile karşılaştığımızda RTS komutu ile programda JSR'den sonraki komuta döneceğiz.