Bu sayfadaki yazılar
Sayfanın metni
Sayfa 89
Tüm meraklılar hoş geldiniz. Umarım bu köşede yayınlanan örnekler ile programlarınıza yeni eklemeler yapma fırsatı bulmuş, yayınladıklarımızı çeşitli şekillerde geliştirerek kullanmaya başlamışsınızdır. Geçen örneklerimizde genellikle bir Library fonksiyonunun Basic'ten kullanımını örnekleyen ufak programcıklar yapıyorduk. Bu ay konuyu biraz değiştirmek istiyorum. Basic'in bize nasıl faydalar sağlayabileceğinden ve nasıl verimli programlanabileceğinden bahsedelim. Kısaca biraz sırlarımızı anlatalım.
Basic, genelde başlayanlar için temel ve basit bir dil olarak bilinir. Amatör işlerde kullanılabileceği, işe yarar programlar yapılamayacağı savunulur ve genelde C, Pascal veya doğrudan Assembly gibi dilleri övülür. Basic basit bir dildir, burası doğru. Basic'e güvenip büyük işler yapmak her zaman sonuç vermez. Teorik olarak Basic'le yapılamayacak iş neredeyse yoktur. (Demo mu? İyi güzel de Demo ne işe yarar Allah'ın aşkına?). Pratikte inceleyecek olursak, Basic her uygulama için ideal değildir. Sistemi kullanan herhangi bir programı kullanmak, Basic ile her dilden daha zordur. Buna ek olarak tüm dillerin yanında komik kalan bir işletim hızı vardır. Ancak öyle ufak işler vardır ki, Basic'le yaptığınızdan kolay bunları hiçbir dilde yapamazsınız. Buradan şu sonucu çıkarmalıyız. Her dilin kendine uygun bir kullanım alanı vardır. Önemli olan gerektiği yerde gereken dili kullanabilmek (Amerikalı bir pilot arkadaşım Basic'ten profesyonel uçak simülasyonu yazdı ve şirket kurup sattı.). Basic ile yazacağınız program kısa olmalı: Bugüne dek 30-35 Kilobyte'ı aşan programların hiçbir makinada problemsiz çalıştığını görmedim. Hıza dayanmamak: İç içe döngülerle dolu, ekranda çok hareket isteyen, fazla mantıksal karşılaştırmanın olduğu programlar olmamalı.
Sistem komutlarına dayanmamak: Library fonksiyonlarını programın dayanağı olarak değil de, programı görsel açıdan destekleyici şekilde kullanmak gerekir. Çünkü herhangi bir Library fonksiyonu diğer dillerin çoğunda daha zahmetsizce (Evet Assembly'de bile) kullanılabilir.
Tüm yukarıdakiler benim tavsiyelerim. Katılıp katılmamak size kalmış. Lafı fazla uzatmayalım, gelelim bu ayın programına: Bu program Basic'in etkili kullanım alanlarından biri; genişletilmiş bir hesap makinesi olarak kullanılabilmesi. Kolay kolay birisinin matematikten benim kadar nefret etmesi mümkün değil. (Kim diyor benim N.Ö.'den 2 defa kaldığımı !!!!). Yok sinüs'ün grafiği, yok Cosinüs hiperbolik 3 x'in grafiği daha neler neler. Oysa çok az zahmetle, Basic'ten hemen bir fonksiyon çizen program yapılabilir. Örnek programımız bu amaca hizmet ediyor. Ancak bu basit ve kısa program üzerinde size bazı programlama teknikleri göstermeyi amaçladım. Sabırsız arkadaşlar için önce program. Programı yazıp çalıştırdıktan ve biraz kullandıktan sonra devam edelim.
' Grafik Çizen basit örnek, 1991 F. Kağan gmax = 0 se% =1 DEF FN f(x)= SIN (x) bol = 20 çizim: wx% = WIND0W (2) wy% = WIND0W (3) wxo% = wx% 2
wyo% = wy% 2 IF wx% < 50 OR wy% <50 THEN GOTO son FOR g% = 20 TO wx% -20 x = (g%-wxo%)/bol y = FN f (x) IF ABS(y) > ABS (gmax) THEN gmax = ABS(y) NEXT g% ara = (wyo%-10)/ABS(gmax) FOR g% = 20+se% TO wx%-20 STEP se% LINE (g%-se%,wyo% - FN f((g%-wxo%-se%)/bol)*ara)-(g%,wyo% - FN f((g%-wxo%)/bol)*ara) NEXT g% LINE (20,wyo%Mwx%-20,wyo%),2 LINE (wxo%,10)-(wxo%,wy%-10),2 LINE (20,10)-(wx%-20,wy%-10),2,B WHILE INKEY$ = "" : WEND CLS PRINT "Lütfen istediğiniz Fonksiyonu girin, Parametre X olsun"
INPUT aS gmax = 0 n = INSTR (a$,"=") IF n = 0 THEN GOTO son B$ = MID$ (a$,n,LEN (a$)) Fon$ = "Def Fn f(x) "+B$ Label$ = "2000" son$ = "Goto çizim" fosin:
PRINT "Fonksiyon siniri X den" INPUT c$ d K VAL (c$) IF d = 0 THEN PRINT "Olmadi":GOTO fosin bol = wxo%/d CLS ÖPEN "Ram:Data" FOR OUTPUT AS #1 PRINT #1,Label$ PRINT #1,Fon$
PRINT #1,son$ CLÖSE #1 CHAIN MERGE "Ram:data",2000,ALL,DELETE 2000 - son: END 2000 Evet, aslında gözüktüğü kadar uzun değil. Programı önce bir çalıştırmanızı tavsiye ederim. Dikkat etmeniz gereken programı normal bir basic ile çalıştırmanız gerektiği. Yani Compile Basic'ler ile bu programı çalıştıramıyorsunuz. Prog-
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 88
< ■ • ■ ; ■ ' ■ YİNE DEMOLAR, DEMOLAR. HER AY SİZLER İÇİN EN İLGİNÇ DEMOLARI SEÇİYORUZ. BU AY DA BİRBİRİNDEN İLGİNÇ DEMOLAR. HAYDİ BEYLER, SHOWTİME!
Selam arkadaşlar. İşte yine beraberiz. Bir ay nasıl da hemen geçiyor değil mi? Geçen ay yazdığımız demoların yanı sıra o kadar çok demo ve PD geldi ki, anlatamam. Yalnız bir hatırlatma yapmıştık. Kendi yaptığınız demoları da bize gönderin, burada tanıtalım demiştik. Ama RED SECTOR Demo Maker ve Intro Maker'larla yaptıklarınızı lütfen bize göndermeyin. İstediğimiz şeyler, sadece demo ve introlar değil tabii. AMOS'ta, C'de ve benzeri dillerde yaptığınız oyun ve utility programlarını da bize gönderebilirsiniz. Eğer gönderdiğiniz programlar yayınlanmaya değer görülürse, burada tanıtılacaktır. Hatta isterseniz bu programı isteyen okurlara da gönderebiliriz. Şimdi bu sayımızda bir Türk grubunun yaptığı bir MEGADEMO'yu tanıtacağız. Bu grubun adı BRONX. Altı ay önce yapılan bir demo bu. Tüm disketi kaplıyor ve track loader'lı bir demo. Önce bence bu ayın en iyi demosu olmaya aday olan demo, NATURAL MOVEMENT. Şimdi hep beraber demoları tanıyalım.
Bu aylık bu kadar, ama son değil. Yine güzel demoları bulup sizler için burada açıklayacağım. Ama yaptıklarınızı göndermeyi unutmayın. Gelecek ay tekrar burada buluşmak üzere hoşçakalın. Bol DEMO'lu günler dilerim.
NATURAL MOVEMENT by TORSEN Hepimizin oyunlardan tanıdığı vektör grafiklerle yapılmış bir demo, NATURAL MOVEMENT. Demoda yazı karakterleri yani fontlar dışında hiç grafik kullanılmamış. Oldukça iyi sakin bir müziğe de sahip bir demo. Demonun tamamı vektör grafikler. Demo, havada uçan vektör kuşlarla başlıyor. Burada yapılan kamera hareketleri çok gerçekçi. Her şey çok mükemmel dizayn edilmiş. Daha sonra Vektör adam ile karşılaşıyoruz. Önce kuşları yakalamaya çalışan adam, sonra taklalar atıyor. Demo yaklaşık yarım saat sürüyor. Bu yarım saat boyunca köpek, şövalye gibi birçok obje ile karşılaşıyoruz. Özellikle köpeğin yaptığı hareketler çok iyi. Bir süre sonra, vektör adam bir daha ekranda beliriyor. Çeşitli ısınma ve jimnastik hareketlerinden sonra, karate hareketlerine başlıyor. Demodaki tüm hareketler çok iyi yapılmış ve dizayn edilmiş. Ayrıca demodaki tüm vektör hareketlerinin real time, yani o anda hesaplanıp yapıldığını belirtmeliyim. Demo bittikten sonra, kamera hareketlerini mouse ile kendiniz yönlendirebiliyorsunuz. Tüm hareketleri yapabilmeniz mümkün. Bence şu ana kadar yapılmış en iyi vektör demo. Bir kere seyretmenizi tavsiye ederim.
'WHATARLSH!' Demoyu sürücüye takar takmaz bir graffiti resim görüyoruz. Burada grubun adı ve demonun ismi yazıyor. Daha sonra demonun loader kısmı yükleniyor. Burada kayan yazı ve yüklenen track'lerin numarasını gösteren bir sayaç var. Ayrıca burada 'CRUNCH' seviyesi de gösteriliyor. Karikatürize edilmiş bir tipin yanında o anda yüklenen demoyu yapanların adları yazıyor. Yükleyicisi ve yükleyici demosu ACE tarafından yapılmış. İlk part CAPTAIN TRIPS tarafından yapılmış bir intro. Bu introda, sabit logonun yanı sıra sağa ve sola kayan baloncuklar bulunuyor. Ayrıca bazen ekranın ortasından bir uçak geçiyor. Müzik ve grafikler MAX tarafından yapılmış. İkinci demo ise MOVE tara-
TUNÇ DİNDAŞ tından yapılan HORROR DEMO. Arka planda bir mezarlığın resmi var. Burada ZOMBIE'ler mezardan çıkıp duruyorlar. Grafikler TURBO ve MALİCE tarafından yapılmış. Daha sonra CITY DEMO adlı bölüm yükleniyor. Burada ekranın soluna doğru kayan kentler var. En altta ise bir copper çubuğuna sinüs hareketi yaptırılıyor. Yukarıda ise grubun başka gruplara gönderdiği selamlar bulunuyor. Demo DRAGON tarafından yapılmış. Grafikler MAX ve TURBO. Demonun en iyi partlarından biri olan RAP DEMO'da ekranın sol üstünde RUN DMC'nin video klipinden sahneler bulunuyor. Ok tuşları ile videoyu kumanda edebiliyorsunuz. Altta WRITER denilen sistemle yazılar ve mesajlar yazılıyor. Onun altında bir Graffiti duvarının önünde break dance yapan bir adam var. Demonun mükemmel müziğini MAX yapmış. Demoyu yapan kişi, VİGO. En son olarak MULTI BOB kısmı yükleniyor. Burada ekranda birçok BOB'un bulunduğu bir demo bu. Üstte bir logo ve en altta da bir scroll var. Bu kısım DRAGON tarafından yapılmış. Demo en son yükleyici partta kalıyor. Burada grubun adresleri ve mesajları bulunuyor.