Bu sayfadaki yazılar
Sayfanın metni
Sayfa 69
SABOTEUR II
Bazı görevlerde kullanılacak kodlar: Görev od gerekmiyor Görev Görev 3: KIME Görev 4: KUJI KIRI
MAKİNE DİLİ
Bir program hazırlarken kullanıcıdan kontrol altında veri alışı yapmak çok faydalıdır. Böylece kullanıcının veri girişi sırasında istenmeyen sonuçlara yol açacak veri girişi önlenmiş olur. Program Döküm Eki'ndeki PROGRAMI INPUT komutunu geliştiren bir program. Program çalıştıktan sonra ekranın istediğiniz bir yerinde, istediğiniz büyüklükte bir pencere açıp veri girişi yapmanız mümkün. Veri giriş alanının büyüklüğü tanımlandıktan sonra, CRSR sağ ve sol tuşlar, INST ve DEL tuşları sadece bu alanda çalışırlar. RETURN tuşuna basıldığında girilen veri, türüne göre T$ veya TI değişkenlerine yerleştiler. yazın ve SAVE edin. Programın yazılması sırasında DATA satırlarının doğru olarak girilmesi çok önemli. Programımız DATA komutlarında girilen değerleri kontrol ediyor. Eğer bir yanlışlık olursa çalıştırıldığında diskete programı makine dili olarak yazmayacak. Program doğru olarak çalıştırıldıktan sonra kendisini makine dilinde diskete SAVE edecek. Bundan sonra bu programı kendi programlarınızda kullanabilirsiniz. kullanmak istediğiniz programa şu satırı ekleyin:
5 IF A-0 THEN A-1:LOAD “İNPUT
» 81
Eğer teyp kullanıcısı iseniz programınıza ekleyeceğiniz satır şu şekilde olmalı:
5 IF A-0 THEN A- İ:LOAD “İNPUT Bu komuttan sonra programınıza aşağıdaki rutini ekleyin:
10000 POKE 142, LNG:POKE 143, TYP 10010 SYS49152: IF (1 AND ST) THEN T$-“ ”: 10020 RETURN
Bu rutini çağırmadan evvel LNG değişkenine veri girişi alan uzunluğunu yükleyip, TYP değişkeni girilecek verinin türünü belirliyor. TYP —-0 karakter türünde, TYP — 1 ise numerik veri girişi yapılacak. Veri giriş penceresinin sol ucu o anki kursorun bulunduğu yerde olacak. Açılacak pençerenin yerini PRINT komutu ile belirleriz. Mesela pencere beşinci satır onuncu kolondan başlasın. Bunun için 100 numaralı satırı programınıza ekleyin:
100 PRİNT (5 ASAGI) (10
Bu satırı yazarken tırnak açtıktan sonra HOME için klavyeden HOME tuşuna basın. 5 ASAGI için 5 kere kursoru aşağı indiren tuşa, 10 SAGA için 10 kere kursoru sağa götüren tuşa basın ve tırnağı kapayın. komutuna “;” noktalı virgül eklemeyi unutmayın. Aksi takdirde pencere istediğimizin bir alt satırına açılır. İstersek pencerenin bir mesajdarı sonra açılmasını sağlayabiliriz. Pencerenin açıldığı yer, kursorun o anda bulunduğu yere göre belirlendiğinden PRİNT komutunu kullanıp pencereyi bir mesajdan sonra yerleştirelim:
PRINT “İSMİNİZİ YAZIN:”;
Burada da noktalı virgül unutulmamalı. Tırnağı kapamadan evvel bıraktığımız boşluk yazdığımız mesajla pencereyi ayırıyor. LNG ve TYP parametrelerini veri girişini kontrolde kullanacağız. LNG değişkeni veri alanının maksimum uzunluğunu belirler. Mesela 10 karakter genişliğinde bir veri girişi istiyorsanız, LNG değişkenine rutini çağırmadan evvel 10 değerini verin. Bundan sonra girilecek veri en fazla 10 karakter genişliğinde olabilir. Ancak girilen veri 10 karakterden az olabilir. Rutini çağırmadan evvel girilecek verinin türünü TYP değişkenini kullanarak belirlemek gerekir. Örneğimizde karakter türünü seçtiğimizden TYP —0 komutunu vermemiz gerekir. 20 karakter uzunluğunda veri giriş alanını tanımlayacak program kısmı şöyie olabilir:
100 PRİNT “İSMİNİZİ YAZIN”; 110 LNG —20:TYP -0:GOSUB 10000
Program 10000 numaralı satırdaki rutinden döndüğünde T$ değişkeninde kullanıcı tarafından girilmiş ver: r. Bu rutini tekrar kullanmadan evvel T$ değişki nindeki veriyi başka bir değişkene aktarmanız gerekir. en veri kaybolur. Numerik veri girişiörnek olarak 0.00 TL. ile 99.99 TL. arasında değer labilecek program şöyle olabilir:
alabi
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 68
BURAK KİPER
Geçen sayıya ait program2, 3 ve 4'ü bu sayıda yazımıza ait diğer programlarla beraber Program Döküm Eki'- nde bulabilirsiniz. Hesaplanmış GOTO, GOSUB ve RESTORE komutları Programın herhangi bir satıra gitmesini veya herhangi bir alt programın çağrılmasını istersek kesin satır nu- Marasını bilmemiz gerekir. Ancak bazı durumlarda program akışının devam edeceği satır numarasının hesaplanması programlamayı daha kolay hale getirir. Eğer örneğimizi yazıp çalıştırırsanız 110 numaralı satırda hata mesajı alırsınız:
100 PRINT “SATIR NUMARASI”;SN 100 GOTO SN
Normal olarak ON... GOTO veya ON... GOSUB komutları ile amacımıza ulaşabiliriz. Ancak 110 numaralı satırdaki hesaplanmış GOTO komutu veya GOSUB komutu işleri çok kolaylaştırır. Buna benzer olarak RESTORE komutundan sonra satır numarası vererek programın istediğimiz bölümünden başlayarak DATA satırlarını kullanmak da programlamayı kolaylaştırır. Ancak hesaplanmış GOTO/GOSUB ve RESTORE komutları BASIC 2.0'da bulunmuyor. Program Döküm Eki'ndeki Program3 bize hesaplanmış GOTO/GOSUB ve RESTORE komutlarını kazandırıyor. RESTORE komutunu hesaplanmış hale getirecek programın makine dilindeki karşılığını açıklamalı olarak görelim:
02C6 DO 03 BNE $2C8; başka karakter var mı? 02C8 4C 1D A8 JMP eski RESTORE komutuna 02CB 20 CO 02 JSR $02CO; satır numarasını al 02CE 20 13 A6 JSR ; satır numarasının adresini
hesapla 02D1I 38 SEC 02DZA5SSF LDA$SF ; alcak adres 02D4 E901 SBC #$01; bir çıkar
02D6A460 LDY$60 02D8 4C 24 A8.JMP $A824
; yüksek adres
Program3 çalıştıktan sonra RESTORE komutunu üç şekilde kullanabilirsiniz. (1) Eskisi gib READ komutu programdaki ilk DATA satırından veri okur. 121 READ komutu verilen satır numarasındaki DATA komutundan veri okur. Eğer bu satır yoksa bundan sonra ilk gelen DATA satırından veri okunur. (31 RESTORE komutundan sonra gelen bir matematiksel işlemin sonucu olan satırdaki DATA komutundan veri okunur.
Bu üç şekle örnek verelim: 100 GOTO 200 200 RESTORE 10 500 RESTORE 800 GOSUB A*2-- 100 900 RESTORE X*100-4 500 Oyunlar için Kolaylıklar HYSTERİA
Puan tablosuna bazı kelimeler giçerek ekstra silahlara sahip olabilirsiniz. Bu kelimeleri girdikten sonra ekrana farklı bir mesaj çıkacak.
EKSTRA SİLAH lazer ok, nöbetçi nöbetçi kuvveti, lazer ok jettaşıtı, lazer ok jettaşıtı, lazer göz lazer göz (düzey sonunda enerji kaybı azalır)
KELİME cannıngs sound n vision tony barstool please crash joffa smiff slartbartfarst lazer göz stevey big nose — lazer ok, jettaşıtı joe kıss a gram — lazer göz
FREDDY HARDEST Oyunun ikinci bölümünü oynamak için gerekli kod:
25425