Amiga Dünyası sayı 22, sayfa 77

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 77

Geçen sayıyı okuyanlar hatırlayacaklardır. BASIC'e ait temel emirlerin neler yapabileceğine değinmiş ve küçük örnekler vermiştik. Konumuz CIRCLE emri idi ve bu emirle sadece sıkıcı daireler değil noktalar ve çizgiler de çizebileceğimizi görmüştük. Yazının sonunda ise sizlere bu bilgilerle yapabileceğiniz iki basit program fikri vermiştim, işte bu programlardan biri analog saat:

REM BİR SAAT YAPALIM

pi = 3.1415

start: CLS

x = WINDOW (2):xx=x2 y = WINDOW (3):yy=y2

I = y*1.5

FOR f = 0 TO 360 STEP 6 a = f*pi/180 IF (f MOD 5) = 0 THEN CIRCLE (xx,yy),l+25,1 ,-a,a,y/x CIRCLE (xx,yy),l+10,1,-a,a,y/x NEXT!

CIRCLE (xx,yy),l,2„,y/x PAINT (xx,yy),2

ilk: GOSUB kac GOSUB akrep GOSUB yel

devam: edak = dak

WHILE edak = dak GOSUB kac WEND

IF WINDOW(2) <> x OR WINDOW (3) o y THEN GOTO start

GOSUB akrep GOSUB yel GOTO devam

akrep: CIRCLE (xx,yy),l2,2,-es,es,y/x a = saat MOD 12 IF a <= 3 THEN a s a+12 a = (15-a)*pi/6 CIRCLE (xx,yy),l2,3,-a,a,y/x es = a RETURN

yel: CIRCLE (xx,yy),(l4)*3,2,-ed,ed,y/x a s dak IFa<=15THENa = a+60 a = (75-a) * pi / 30 CIRCLE (xx,yy),(l4)*3,3,-a,a,y/x adsa

RETURN

kac: a$ = TIME$ saat = VAL (LEFT$(a$,2)) dak = VAL (MID$(a$,4,2)) RETURN

Görüldüğü üzere ne fazla uzun ne de çok karışık. Gelelim program üzerine söyleyeceklerimize. Bir kere çok hızlı bir program değil. Bu yüzden sadece dakikaları okuyabiliyor. Ola ki bir Basic Compiler kullanıyorsunuzdur, hemencecik saniye kısmı eklenebilir. Programda ilk işimiz ekranı temizlemek ve penceremizin boyutlarını öğrenmek oluyor. Bu boyutları kullanarak saatimizi pencereyi iyice dolduracak şekilde çiziyoruz. İlk döngü dakika çizgileri için. Circle emri istediğimiz açıda çizgi çekmek için kullanılıyor. Daha sonra gövde çiziliyor. Circle ile çizgi veya nokta çizmenin kötü yanı yavaş olması. Ancak programdaki gibi bir arka plan oluşturmak için yararlı.

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