Bu sayfadaki yazılar
Sayfanın metni
Sayfa 17
Son Ürün
Er veya geç programınızın bittiğine karar vereceksiniz. Son bir göz atın. Muhtemelen programlamanız sırasında çıkan bazı sorunları çözmüşsünüzdür. Bu çözümleri (daha da önemlisi çözüm metodlarını) daha sonraki programlarınızda da kullanmak üzere saklayın. Eğer programı kendi kullanımınız için yazdıysanız programınız bitmiş demektir. Yok programı arkadaşlarınızla paylaşmayı veya satmayı düşünüyorsanız programa bir beta-testi uygulamanız ve program hakkında açıklamalar yapmanız gerekir. Programı siz yazdığınız için kullanımı size gayet kolay gelir. Ama program beta-testini uygulayanlara da hitap etmelidir; beta-testi programı daha önce hiç kullanmamış birisi tarafından kullanım kolaylığını görmek için yapılır. Eğer testi yapanlar programınızı verimli olarak kullanmamışlarsa yazılımda biraz değişiklik yapmanız veya dökümana ağırlık vermeniz gerekebilir. Döküman her yazılım için çok önemlidir.
Bunları Çalıştırmak
Her işi olduğu gibi programlamayı da daha basit ve küçük parçalara ayırırsanız, sorunların üstesinden daha kolay gelirsiniz. Yapacağınız işin genel bir görünümünü kafanızda oluşturun ve daha sonra bunu alt gruplara ayırın. Bu bakış açısının programcılığa nasil uygulanabileceğini örnek bir C-64 programı yazarak göreceğiz. Bu arada da programcılığın bazı önemli noktalarına değineceğiz.
Fikir
Bir program yazarken atılacak ilk adım programın ne yapmasına karar bir vermektir. Uygulama amacıyla kısa bir BASIC program yazalım. Yazması kolay olsun diye de nispeten basit bir olan tuzak oyunu yazalım. Oyunun başlangıcında, iki oyuncu bir sınır tarafından çevrelenmiş oyun alanında bulunur. Oyun başlayınca iki oyuncu da arkalarında birer kuyruk bırakarak harekete geçerler. Oyunun amacı kendi kuyruğunuzdan, diğer oyuncunun kuyruğundan ve sınırdan sakınarak en uzun süre dolaşmaktır. Programın ne yapacağına karar verdikten sonra yardımcılarımızı edinelim. Programı sadece oyun amacıyla yazıyorsanız BDE yeterli olacaktır. Ama oyuna kendiniz de bir şeyler katmak isterseniz, SYSRES veya Simon's BASIC gibi utility programları *edinmek faydalı olur. Ayrıca yeni teknikler denemek için kaynak olarak da Programcının El Kitabı'nı kullanabilirsiniz.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 16
Yardımcı Programlar
Utility denen yardımcı programlar hayatı kolaylaştırmak için yazılmışlardır. Karşılaştırma programları, düzeltme programları, makine dili monitörleri ve BASIC genişletici paketler arasında doğru seçimi yaparsanız programlama süreniz yarıya inecektir. Bazı utility programları birkaç dil için kullanılabilirler. Örneğin SYSRES adlı program hem BA-
SIC'te hem de makine dili programlarınızda size yardımcı olacaktır. Sprite editörleri, müzik programları ve karakter seti editörleri gibi utility'ler de kendi programlarınızda kullanacağınız bazı efektleri sizin için hazırlayacaklardır. Değişkenleri listeleyen, satırları otomatik olarak numaralayan ve gerektiğinde dökümünü alan, program çalışırken işlenen satırları gösteren, Simon's Basic ve SYSRES gibi utility'ler programlarınızı yazarken ve kontrol ederken size büyük kolaylıklar sağlayacaktır. Her makine dili programcısının iyi bir makine dili monitörü olmalıdır. Dergimizde yayınlanan assembler'lar ve monitörler işinize yarayacaktır. Eğer bulabilirseniz, programınızı satır satır işleyen bir monitör edinmeye çalışın. Eğer, Pascal ya da C gibi başka bir programlama dili kullanıyorsanız, paket içindeki yardımcı programları kullanmalısınız.
Kararlar, Kararlar
Program hakkında fikrinizi oluşturduktan ve programlama ortamınızı belirledikten sonra sıra asıl zor kararları vermeye gelir. İsteseniz de istemeseniz de her programcı bazı sınırlamalara uymak zorundadır. Zaman sınırlaması, donanım yetersizliği ve sizin şahsi becerinizin sınırları bunlara dahildir. Programlama hayatınızda, çok zor bir projeye erken başlarsanız çok yıpranırsınız ve bir süre sonra sıkılıp bırakırsınız. Gerileyin ve daha kolay bir yerden başlayın, Programınızın görünüşü ve işlevi tam olarak ne olacak? Programınızda grafik kullanacak mısınız? Eğer kullanacaksanız, ne tür? Sprite mı kullanacaksınız? Yoksa hi-res grafikler mi? Ya da değiştirilmiş karakter setleri mi? İşe başlamadan önce grafik konusunda bazı kaynaklara başvurun. Kullanıcı arabiriminden ne haber? Programınız bir arcade oyunuysa herhalde joystick kullanırsınız. Bir strateji oyununda joystick veya klavye kullanılabilir. Eğer programınız bir iş uygulaması ise mouse ve menüler kullanmayı tercih edebilirsiniz. Kattığınız çaba programın kullanılmasını kolaylaştıracak ve görsel olarak etkileyici olmasını sağlayacaktır. Programınızın kullanıma yatkın olup olmadığını anlamak için bilgisayarınızın başına bu konuda tecrübesiz birini oturtun. Bilgisayara alışkın olmayan kişiler hiç beklemediğiniz şeyler yapacaklardır. Programınızı herkesin kullanabileceğinden emin olmanız gerekir. Bunu kolaylaştırmak için hata mesajları ve yardım ekranları düzenleyebilirsiniz. İyi hazırlanmış bir yardım ekranı sayfalarca dökümana bedeldir.
Düzenleyin
Programınızı yazmaya hazır olduğunuzda nasıl düzenleyeceğinize de karar verin. Birçok programcı ana yazılımlarını, her biri kendi başına ayrı bir işlemi gerçekleştirecek olan alt rutinlere veya program parçacıklarına bölerler. Bu parçalar ana bir program altında toplanmadan kontrol edilebilir. Her program parçasını nasıl çalıştıracağınız çok önemlidir. Bazı programlar hızlı olabilmeleri için makine dilinde yazılmalıdır. Sprite animasyonu için gerekli olan veya fon müziğini çalacak programlar interrupt olarak çalışmalıdır. Özellikle hi-res ekranı, karakter seti ve sprite kullanan C64 programlarında hafızanın düzenlenmesi büyük önem taşır. 49152'den ($C000) başlayan 4K'lık boş alan genelde data saklamak için kullanılır. Ama eğer programınızda utility kullanacaksanız, birçok utility programının (mesela DOS Wedge) bu alanı kullandığını aklınızda bulundurun. Eğer hafıza kullanımınız karmaşık veya alışılmamış olacaksa bir harita hazırlamak size yardımcı olacaktır. Böylece her program elemanının hafızada nereye yerleşeceği rahatlıkla görülebilir. Yıllar boyunca programları düzenlemek için birçok yol geliştirilmiş ve öğretilmiştir. Bunların en popüler olan hiç kuşkusuz akış diyagramlarıdır. Günümüzde de oldukça yaygın olarak kullanılan akış diyagramlarının sistemi geometrik şekillere verilen çeşitli görevlere dayanır. Örneğin, program elipsle başlar, işlemler dikdörtgen, karar ifadeleri de eşkenar dörtgen olarak gösterilir. Bir başka organizasyon yöntemi de pseudocode denen (yalancı program olarak çevrilebilecek) bir sistemdir. Bu yöntemde ifadeler, Pascal ve C gibi yüksek sınıf programlama dillerinde uygulandığı gibi, düz yazı diliyle kısaca açıklanırlar. Bir sonraki yazıda vereceğimiz örnekte bu sistemin uygulamasını görebilirsiniz. Artık sıra yukarıdan aşağı, aşağıdan yukarı veya modüler programlama sistemlerinden birini seçmeye geldi. Programı yukarıdan aşağı düzenlerken, ana programın, akış diyagramıyla veya pseudocode ile bir taslağı çıkarılır. Ana program hazırlandıktan sonra bunun kullandığı alt programlar hazırlanır, tabi bunlarına kullandığı başka alt programlar da olabilir. Eninde sonunda dibe ulaşır ve detaylarla uğraşmaya başlanır. Aşağıdan yukarı programlamada ise önce, program için gerekli olduğuna inanılan alt programlar yazılır. Bu programlar sprite'ları halleden veya basit ses efektleri oluşturan kısa rutinlerdir. Daha sonra bunları birleştirdikçe, ana yapı ortaya çıkmaya başlar. Modüler programcılık yöntemi ise daha önce anlattığımız iki sistemin birleşmesinden oluşur. Bu yöntemde gereken rutinler ve arabirimler yazılır. Her rutin birleştirilmeden önce kendi başına test edilebilir. Program yazarken bu sistemlerden birini veya bir kaçını seçmek akıllıca olur. Eğer programın içinde kaybolursanız başka bir sistem seçebilirsiniz.