Amiga Dünyası sayı 15, sayfa 84
Sayfanın metni

Sayfa 84

Merhaba... Bu ay BASIC köşemizde ufak bir değişiklik yaptık. Arkadaşımız F.KAĞAN GÜRKAYNAK, sizler için iki küçük Basic program hazırladı. Üstelik açıklamaları ile. Bakalım beğenecek misiniz? Şimdi Kağan'ın sözlerine kulak verelim:

Amiga'nın harika bir makine olduğunu belirtmeme gerek yok. Amiga'nın neler yapabileceğini birçok demoda ve oyunda hayretler içinde izledik. Ancak ortalama bir kullanıcı olarak Amiga'nın şaşırtıcı güçlerini kontrolümüz altına almak için yeterli olmadığımızı düşünmüşüzdür.

Gerçekten etkileyici, basit programları yazmak için, C'yi ezbere bilmeniz gerekmiyor. Amiga Basic'imiz ile bile ilginçlikler yapabiliriz.

İlk programla, bir Copper Listesi hazırlayarak rengarenk yazılara (Fontlara), menülere veya arka planlara sahip olabiliriz. Copper listelerini birçok demodan tanıyorsunuz. Copper Amiga'nın içinde temel olarak, ekranı tarayan elektronun yerine bağlı olarak programlanan ve hafızada bazı önemli değerleri (Register) değiştirebilen bir işlemcidir.

Sizi teknik detaylarla boğmadan, hemen programımıza geçelim. Lütfen yazılımdaki büyük ve küçük harflere özen gösterin. Bunun yanında % ve & işaretlerinde de dikkatli olmanızı öneririm; ikisi kolay karışıyor. ' işaretinden sonrakileri yazmayın, onlar sadece bilgi içindir.

'PROGRAM ADI : COPPER LİSTESİ DECLARE FUNCTION AllocRemember& LIBRARY DECLARE FUNCTION ViewPortAddress& LIBRARY LIBRARY ":bmaps/graphics.library" LIBRARY ":bmaps/lntuition.library" Copper Listesi Yaratma:

Print " Biraz Bekleyin :" InitCopperList 564 'Copper için yer açma FOR y% = -12 TO 270 Ekranı boydan boya tarayalım b=b+1 IF b=2 THEN

READ Renk% : c=c+1 : b=0 Renkleri okuma IF c=45 THEN c=0: RESTORE Curcuna CopWait y%,20 Bu ilk emir CopMove 386.Renk% Bu da ikincisi LOCATE 1.14 : PRINT 270-y°o END IF NEXT y%

CLS Copper Basla:

CopperStart WINDOW (7) 'Copper bu ekranda olacak Son:

LIBRARY CLOSE Temizlik END '45 adet Hex data Curcuna:

DATA &H0FF,&H1 EF,&H2DF,&H3CF,&H4BF DATA&H5AF,&H69F,&H78F,&H87F,&H96F DATA &HA5F,&HB4F,&HC3F,&HD2F,&HE1 F DATA &HF0F.&HF1 E,&HF2D,&HF3C,&HF4B DATA&HF5A,&HF69,&HF78,&HF87,&HF96 DATA&HFA5,&HFB4,&HFC3,&HFD2,&HFE1 DATA &HFF0,&HEF1 ,&HDF2,&HCF3,&HBF4 DATA&HAF5,&H9F6)&H8F7,&H7F8,&H6F9 DATA &H5FA,&H4FB,&H3FC,&H2FD,&H1 FE ' Buradan sonra kullandığımız yeni emirlerin tanımı var. SUB InitCopperList (KomutNo%) STATIC SHARED CopperList& Boyut%=KomutNo%*4+4 'Copper için Remember&=0 'yer ayarlama RemKey&=VARPTR(Remember&) CopperList&=AllocRemember&(RemKey&,Boyut%,65538&) IF CopperList&=0 THEN FreeRemember& RemKey%,-1 :END END SUB SUB CopperStart (Win&) STATIC SHARED CopperList CopWait 10000,256 Ekranı tarama bitti mi ? ViewPort&=ViewPortAddress&(Win&) POKEL ViewPort&+20,CopperList& 'Yeni adres RethinkDisplay& 'Ekranı yeniden çiz END SUB SUB CopWait (Y%,X%) STATIC

SHARED CopperList& CWait& CopperList&,Y%,X% CBumb& CopperList% END SUB SUB CopMove (Offset%,Rakam%) STATIC

SHARED CopperList& CMove&CopperList&,Offset%,Rakam% CBump% CopperList& END SUB ' Program Ash Amir R.Amir Evet fazla sürmüş olamaz. Çalıştırmadan evvel: Bu program Amiga'nın içinde bulunan Library'leri kullanıyor. Programın onlara erişebilmesi için, o Library'lere ilişkin .bmap dosyalarının Library komutundan sonra tımak AMIGA DÜNYASI 94

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