Amiga Dünyası sayı 28, sayfa 90

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 90

Herkese merhabalar. Her şeyden önce bu köşenin en azından bir okuru olduğunu öğrendim ve son derece memnun oldum. Sıcak bir Ağustos günü Kemer-Antalya yolunda tesadüfen otostop yaparak arabama binen kişinin, sohbeti sırasında köşemin bir okuru olduğunu öğrendiğim an, inanın hem çok şaşırdım hem de çok sevindim. Bahane anlatmak bu köşenin değişmez geleneği. Ancak bu ay sözü uzatmayacağım. 80 saatte bir trafik kazasına karıştığımdan dolayı, moralim son derece bozuk. Ama bu ay size bomba gibi bir program buldum. Programın yazarı geçen aylarda sık sık alıntılar yaptığım Amir R. Amir. Bu kişinin Profesyonel Basic kitabındaki belki en görkemli program bu. Ne var ki, genelde tam açıklamalı kısa programlar yayınlamayı uygun gördüğümden, bugüne dek bu programı yayınlamamıştım. Gerçekten uzun ve karışık gibi görünen bu programı yazmanızı teşvik etmek için programın sonuçlarından bir iki resim koymayı uygun gördüm. Program aslında son derece basit işlevleri olan çeşitli bölümlerden oluşuyor. Açıklama yapabilmek için her bölümün başına işlevini anlatan bir iki REM satırı koydum. Programı yazarken bu satırları ihmal edin. Değişken isimlerini ise Almanca'dan çevirmedim. Hemen programa geçelim. REM İlk olarak bazı LIBRARY fonksiyonları REM tanımlamamız gerekiyor.

DECLARE AllocRemember& LIB- RARY

DECLARE FUNCTION ViewPortAddress& LIB- RARY LIBRARY "dhi: as/bmaps /g LIBRARY "dhl :user/bas/b

PxSchritt-200/(XMax-XMin)

REM Dalgalanmaların belli olması için sonuç Zfakt REM sayısı ile çarpılıyor. Eğer formül çok düz REM çıkarsa bu sayıyı büyütmeli, çok dalgalı çı- karsa REM küçültme yoluna gitmelisiniz.

Hoehenmultiplikator: ZFakt-35

REM daha önce X ve Y koordinatlarının sınırlarını REM belirlemiştik. Plot-3D gibi bu programda da REM kareler var. Bu karelerin genişliği burada REM belirleniyor

Plattengroesse:

REM Bu sayı bir ise kareler dolduruluyor.

PlattenAusfuellen:

REM Şimdi bir ekran tanımlıyoruz.

Bildschirm: SCREEN 1,320,256,5,1 WINDOW 2,,,0, ViewPort&-ViewPortAddress& (WINDOW(7)) RastPort&-WINDOW(8)

OutlineModusEin

library" ON ERROR GOTO Fehler

REM burada x ve y değişkenlerinin ilk ve son REM değerleri yer alıyor.

BereichDefinieren: XMin—-3 : XMaxz3 YMin—-3 : YMax-3 REM Bu değişken eğikliği belirliyor.

Schraeglage: MalFakt-15

REM burada ise noktanın pixel cinsinden genişliği REM yer alıyor.

Groesse:

POKE RastPort&-427,1 FlagsAdr&-RastPort&--32 —PEEKW(FlagsAdr&) POKEW FlagsAdr&,(Flags OR 8)

REM İşlemler için doğrudan hafıza ayırıyoruz.

SpeicherReservieren: RAMTyp&-2465536& Remember&-0 RememberKey&-VARPTI elde Memory&—AllocR 12000&,RAMTyp&) IF Memory&-0 THEN FreeRemember& Remem- ber Key&,-1 : END

Key&,

REM Basic'in yetersiz veya yavaş kaldığı yerlerde REM Library'ler kullanılıyor. Bu fonksiyonlar için REM gerekli ön işlemler

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